@amityco/ts-sdk-react-native
Version:
Amity Social Cloud Typescript SDK
23 lines (17 loc) • 578 B
text/typescript
import { pullFromCache } from '~/cache/api';
import { checkUserPermission } from './checkUserPermission';
export const checkChannelPermission = (
userId: Amity.User['userId'] | undefined,
permission: string,
channelId: Amity.Channel['channelId'],
) => {
if (!userId) return false;
const member = pullFromCache<Amity.Membership<'channel'>>([
'channelUsers',
'get',
`${channelId}#${userId}`,
])?.data;
if (!member) return false;
if (member.permissions.some(x => x === permission)) return true;
return checkUserPermission(userId, permission);
};