UNPKG

@amityco/ts-sdk-react-native

Version:

Amity Social Cloud Typescript SDK

38 lines (32 loc) 903 B
import { pullFromCache } from '~/cache/api/pullFromCache'; import { getActiveClient } from '~/client/api/activeClient'; import { ASCApiError } from '~/core/errors'; /** * * get current user's membership data * * @returns the {@link Amity.Membership<'channel'>} objects * * @category Channel API * @async */ export const getMyMembership = (channelId: string): Amity.Cached<Amity.Membership<'channel'>> => { const client = getActiveClient(); client.log('channel/getMyMembership.locally'); const cacheChannelUser = pullFromCache<Amity.Membership<'channel'>>([ 'channelUsers', 'get', `${channelId}#${client.userId}`, ]); if (!cacheChannelUser) { throw new ASCApiError( 'Item not found!', Amity.ServerError.ITEM_NOT_FOUND, Amity.ErrorLevel.ERROR, ); } return { data: cacheChannelUser.data, cachedAt: cacheChannelUser.cachedAt, }; };