UNPKG

@amityco/ts-sdk-react-native

Version:

Amity Social Cloud Typescript SDK

44 lines (38 loc) 1.14 kB
import { ingestInCache } from '~/cache/api/ingestInCache'; export const updateChannelMessagePreviewCache = (rawPayload: Amity.ChannelPayload) => { const withMessageFeedInfo = (messagePreview: Amity.MessagePreviewPayload) => { const messageFeedInfo = rawPayload.messageFeedsInfo?.find(messageFeed => { return messageFeed.messageFeedId === messagePreview.messageFeedId; }); const { channelPublicId: channelId, messageFeedId: subChannelId, data, dataType, isDeleted, segment, creatorPublicId: creatorId, createdAt, updatedAt, } = messagePreview; return { channelId, subChannelId, data, dataType, isDeleted, segment, creatorId, createdAt, updatedAt, subChannelName: messageFeedInfo?.name!, messagePreviewId: messageFeedInfo?.messagePreviewId!, subChannelUpdatedAt: messageFeedInfo?.updatedAt!, }; }; const newData = { messagePreviewChannel: rawPayload.messagePreviews?.map(messagePreview => withMessageFeedInfo(messagePreview)) ?? [], }; ingestInCache(newData); };