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