export function hasPermission(
  user: { roles?: string[]; permissions?: string[] } | null | undefined,
  permission: string,
): boolean {
  if (!user) return false
  if (user.roles?.some((r) => r.toLowerCase() === 'admin')) return true
  return (user.permissions ?? []).includes(permission)
}

export function hasAnyPermission(
  user: { roles?: string[]; permissions?: string[] } | null | undefined,
  permissions: string[],
): boolean {
  return permissions.some((p) => hasPermission(user, p))
}
