@amityco/ts-sdk-react-native
Version:
Amity Social Cloud Typescript SDK
29 lines (24 loc) • 868 B
text/typescript
import { pullFromCache } from '~/cache/api/pullFromCache';
import { getChannelMessagePreview } from './getChannelMessagePreview';
import { userLinkedObject } from '~/utils/linkedObject/userLinkedObject';
export const getChannelMessagePreviewWithUser = (
channel: Amity.StaticInternalChannel,
): Amity.StaticInternalChannel & {
messagePreview: Amity.MessagePreview | null;
} => {
const messagePreview = channel.messagePreviewId
? getChannelMessagePreview(channel.channelId)
: null;
const internalUser = pullFromCache<Amity.InternalUser>([
'user',
'get',
messagePreview?.creatorId,
])?.data;
const messagePreviewWithUser = messagePreview
? {
...messagePreview,
user: internalUser ? userLinkedObject(internalUser) : undefined,
}
: null;
return { ...channel, messagePreview: messagePreviewWithUser };
};