Initial MRP foundation scaffold
This commit is contained in:
17
shared/src/auth/permissions.ts
Normal file
17
shared/src/auth/permissions.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
export const permissions = {
|
||||
adminManage: "admin.manage",
|
||||
companyRead: "company.read",
|
||||
companyWrite: "company.write",
|
||||
crmRead: "crm.read",
|
||||
crmWrite: "crm.write",
|
||||
filesRead: "files.read",
|
||||
filesWrite: "files.write",
|
||||
ganttRead: "gantt.read",
|
||||
salesRead: "sales.read",
|
||||
shippingRead: "shipping.read",
|
||||
} as const;
|
||||
|
||||
export type PermissionKey = (typeof permissions)[keyof typeof permissions];
|
||||
|
||||
export const defaultAdminPermissions: PermissionKey[] = Object.values(permissions);
|
||||
|
||||
21
shared/src/auth/types.ts
Normal file
21
shared/src/auth/types.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import type { PermissionKey } from "./permissions";
|
||||
|
||||
export interface AuthUser {
|
||||
id: string;
|
||||
email: string;
|
||||
firstName: string;
|
||||
lastName: string;
|
||||
roles: string[];
|
||||
permissions: PermissionKey[];
|
||||
}
|
||||
|
||||
export interface LoginRequest {
|
||||
email: string;
|
||||
password: string;
|
||||
}
|
||||
|
||||
export interface LoginResponse {
|
||||
token: string;
|
||||
user: AuthUser;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user