( source: Source, queryClient: QueryClient, manipulate: ManipulateSourceFunc, user: LoggedUser | undefined, feedId: string | undefined, )
| 176 | ) => FeedSettings; |
| 177 | |
| 178 | const onMutateSourcesSettings = async ( |
| 179 | source: Source, |
| 180 | queryClient: QueryClient, |
| 181 | manipulate: ManipulateSourceFunc, |
| 182 | user: LoggedUser | undefined, |
| 183 | feedId: string | undefined, |
| 184 | ): Promise<() => Promise<void>> => { |
| 185 | const queryKey = getFeedSettingsQueryKey(user, feedId); |
| 186 | const currentSettings = getCachedFeedSettingsOrThrow( |
| 187 | queryClient, |
| 188 | queryKey, |
| 189 | 'sources', |
| 190 | ); |
| 191 | const newData = manipulate(normalizeFeedSettings(currentSettings), source); |
| 192 | const keys = [queryKey, getFeedSettingsQueryKey(user, feedId)]; |
| 193 | await updateQueryData(queryClient, newData, keys); |
| 194 | return async () => { |
| 195 | await updateQueryData(queryClient, currentSettings, keys); |
| 196 | }; |
| 197 | }; |
| 198 | |
| 199 | const clearNotificationPreference = async ({ |
| 200 | queryClient, |
no test coverage detected