import type { AdminProfile, Permission } from '../api'; export function getPermissionCodes(profile: AdminProfile | null) { if (!profile) { return []; } if (profile.isSuperAdmin || profile.permissions[0] === '*') { return ['*']; } return (profile.permissions as Permission[]).map((permission) => permission.code); } export function hasPermissions(profile: AdminProfile | null, requiredPermissions?: string[]) { if (!requiredPermissions?.length) { return true; } const codes = getPermissionCodes(profile); if (codes.includes('*')) { return true; } return requiredPermissions.every((permission) => codes.includes(permission)); }