|
- export const AUTH = {
- VIEW_USER: "VIEW_USER",
- MAINTAIN_USER: "MAINTAIN_USER",
- VIEW_GROUP: "VIEW_GROUP",
- MAINTAIN_GROUP: "MAINTAIN_GROUP",
- TESTING: "TESTING",
- PROD: "PROD",
- PACK: "PACK",
- ADMIN: "ADMIN",
- STOCK: "STOCK",
- INVENTORY_ADJUST: "INVENTORY_ADJUST",
- ITEM_TRACING: "ITEM_TRACING",
- PURCHASE: "PURCHASE",
- STOCK_TAKE: "STOCK_TAKE",
- STOCK_IN_BIND: "STOCK_IN_BIND",
- STOCK_FG: "STOCK_FG",
- FORECAST: "FORECAST",
- JOB_CREATE: "JOB_CREATE",
- JOB_PICK: "JOB_PICK",
- JOB_MAT: "JOB_MAT",
- JOB_PROD: "JOB_PROD",
- /**
- * FP-MTMS Version Checklist | Functions Ref. No. 51 | v1.0.1 | 2026-08-06
- * 工單 生產流程 完成工單
- */
- PRODUCT_PROCESS: "PRODUCT_PROCESS",
- REPORT_MGMT: "REPORT_MGMT",
- /** FP-MTMS Version Checklist | Functions Ref. No. 67 | v1.0.0 | 2026-08-13 — Manual M18 sync page (/m18Syn): ADMIN or this ability */
- M18_SYNC: "M18_SYNC",
- } as const;
-
- /**
- * FP-MTMS Version Checklist | Functions Ref. No. 51 | v1.0.1 | 2026-08-06
- * Match session ability codes (exact, trimmed).
- */
- export function hasAbility(
- abilities: string[] | undefined | null,
- required: string,
- ): boolean {
- const code = required.trim();
- return (abilities ?? []).some((a) => String(a).trim() === code);
- }
|