UNPKG

@amityco/ts-sdk-react-native

Version:

Amity Social Cloud Typescript SDK

32 lines (30 loc) 1.05 kB
import { pullFromCache } from '~/cache/api'; import { userLinkedObject } from './userLinkedObject'; import { approveJoinRequest } from '~/communityRepository/joinRequest/internalAPI/approveJoinRequest'; import { cancelJoinRequest } from '~/communityRepository/joinRequest/internalAPI/cancelJoinRequest'; import { rejectJoinRequest } from '~/communityRepository/joinRequest/internalAPI/rejectJoinRequest'; export const joinRequestLinkedObject = ( joinRequest: Amity.InternalJoinRequest, ): Amity.JoinRequest => { return { ...joinRequest, get user(): Amity.User | undefined { const user = pullFromCache<Amity.InternalUser>([ 'user', 'get', joinRequest.requestorPublicId, ])?.data; if (!user) return undefined; return userLinkedObject(user); }, cancel: async () => { await cancelJoinRequest(joinRequest); }, approve: async () => { await approveJoinRequest(joinRequest); }, reject: async () => { await rejectJoinRequest(joinRequest); }, }; };