Files
CRM_Montzar/apps/api/src/conversations/conversations-permissions.ts
T

22 lines
695 B
TypeScript
Raw Normal View History

import type { RolePermissionKey, UserRole } from '@mento/shared';
import { sanitizePermissions } from '../org-roles/role-defaults';
export type ConversationAccess = {
canUse: boolean;
canCreateGroup: boolean;
};
export function resolveConversationAccess(
membershipRole: UserRole | string,
orgRolePermissions: unknown,
): ConversationAccess {
if (membershipRole === 'owner' || membershipRole === 'admin') {
return { canUse: true, canCreateGroup: true };
}
const permissions = sanitizePermissions(orgRolePermissions) as RolePermissionKey[];
return {
canUse: permissions.includes('conversations'),
canCreateGroup: permissions.includes('conversations_groups'),
};
}