
export const PERMISSION_MAP = {
  // Invoices
  "invoices:read": "invoices:read",
  "invoices:create": "invoices:create",

  // Proforma
  "proforma:read": "proforma:read",
  "proforma:create": "proforma:create",

  // Payments
  "payments:read": "payments:read",
  "payments:create": "payments:create",

  // Users
  "users:read": "users:read",
  "users:create": "users:create",

  // News
  "news:read": "news:read",

  // Company
  "company:read": "company:read",

  // Notifications
  "notifications:read": "notifications:read",

  // Profile
  "profile:update": "profile:update",

  // Scan
  "scan:create": "scan:create",
} as const;

/**
 * Utility function to check if user has a specific permission.
 */
export function hasPermission(userPermissions: string[], permission: string): boolean {
  return userPermissions.includes(permission);
}

/**
 * Utility function to check if user has any of the permissions.
 */
export function hasAnyPermission(userPermissions: string[], permissions: string[]): boolean {
  return permissions.some(perm => userPermissions.includes(perm));
}

/**
 * Utility function to check if user has all permissions.
 */
export function hasAllPermissions(userPermissions: string[], permissions: string[]): boolean {
  return permissions.every(perm => userPermissions.includes(perm));
}
