Files
alla-tms/src/types/next-auth.d.ts
2026-07-16 09:53:14 +07:00

49 lines
1.2 KiB
TypeScript

import type { DefaultSession } from 'next-auth';
import type { Permission } from '@/lib/auth/permissions';
declare module 'next-auth' {
interface Session {
user: DefaultSession['user'] & {
id: string;
systemRole: string;
activeOrganizationId: string | null;
activeOrganizationName: string | null;
activeOrganizationPlan: string | null;
membershipRole: string | null;
role: string | null;
employeeCode: string | null;
employeeId: number | null;
provider: string | null;
businessRole: 'IT' | 'HRD' | 'EMPLOYEE' | null;
permissions: Permission[];
effectivePermissions: Permission[];
permissionTemplateIds: number[];
organizations: Array<{
id: string;
name: string;
slug: string;
membershipRole: string;
role: string;
plan: string;
imageUrl: string | null;
permissionTemplateIds: number[];
}>;
};
}
interface User {
id: string;
systemRole?: string;
activeOrganizationId?: string | null;
employeeCode?: string | null;
employeeId?: number | null;
provider?: string | null;
}
}
declare module 'next-auth/jwt' {
interface JWT {
sub?: string;
}
}