UNPKG

@amityco/ts-sdk-react-native

Version:

Amity Social Cloud Typescript SDK

34 lines (26 loc) 1.04 kB
import { pullFromCache, queryCache } from '~/cache/api'; import { ingestInCache } from '~/cache/api/ingestInCache'; import { getActiveClient } from '~/client'; import { createEventSubscriber } from '~/core/events'; import { getResolver } from '~/core/model'; import { prepareUserPayload } from '~/userRepository/utils/prepareUserPayload'; export const onFollowingUserDeleted = ({ userId }: { userId: string }) => (callback: Amity.Listener<Amity.InternalFollowStatus>) => { const client = getActiveClient(); const filter = (data: Amity.UserPayload) => { const userPayload = prepareUserPayload(data); ingestInCache(userPayload); const cacheData = pullFromCache<Amity.InternalFollowStatus>([ 'follow', 'get', getResolver('follow')({ from: userId, to: userPayload.users[0].userId, }), ]); if (!cacheData) return; callback(cacheData?.data); }; return createEventSubscriber(client, 'user.deleted', 'user.deleted', filter); };