All files / lib/auth session.ts

0% Statements 0/7
100% Branches 0/0
0% Functions 0/2
0% Lines 0/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                                                               
import type { EmployeeRecord } from "@/lib/db/schema";
 
export const APP_ROLES = ["user", "manager"] as const;
 
export type AppRole = (typeof APP_ROLES)[number];
 
type MockSessionSeed = {
  sessionId: string;
  role: AppRole;
  employeeId: string;
  managedEmployeeIds: string[];
};
 
export type MockAuthSession = MockSessionSeed &
  EmployeeRecord & {
    roleLabel: string;
    managedEmployees: EmployeeRecord[];
  };
 
const ROLE_LABEL_BY_ROLE: Record<AppRole, string> = {
  user: "User mode",
  manager: "Manager mode",
};
 
export function getRoleLabel(role: AppRole): string {
  return ROLE_LABEL_BY_ROLE[role];
}
 
export function isAppRole(value: string): value is AppRole {
  return APP_ROLES.includes(value as AppRole);
}