FPSMS-frontend
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 

42 řádky
1.3 KiB

  1. export const AUTH = {
  2. VIEW_USER: "VIEW_USER",
  3. MAINTAIN_USER: "MAINTAIN_USER",
  4. VIEW_GROUP: "VIEW_GROUP",
  5. MAINTAIN_GROUP: "MAINTAIN_GROUP",
  6. TESTING: "TESTING",
  7. PROD: "PROD",
  8. PACK: "PACK",
  9. ADMIN: "ADMIN",
  10. STOCK: "STOCK",
  11. INVENTORY_ADJUST: "INVENTORY_ADJUST",
  12. ITEM_TRACING: "ITEM_TRACING",
  13. PURCHASE: "PURCHASE",
  14. STOCK_TAKE: "STOCK_TAKE",
  15. STOCK_IN_BIND: "STOCK_IN_BIND",
  16. STOCK_FG: "STOCK_FG",
  17. FORECAST: "FORECAST",
  18. JOB_CREATE: "JOB_CREATE",
  19. JOB_PICK: "JOB_PICK",
  20. JOB_MAT: "JOB_MAT",
  21. JOB_PROD: "JOB_PROD",
  22. /**
  23. * FP-MTMS Version Checklist | Functions Ref. No. 51 | v1.0.1 | 2026-08-06
  24. * 工單 生產流程 完成工單
  25. */
  26. PRODUCT_PROCESS: "PRODUCT_PROCESS",
  27. REPORT_MGMT: "REPORT_MGMT",
  28. /** FP-MTMS Version Checklist | Functions Ref. No. 67 | v1.0.0 | 2026-08-13 — Manual M18 sync page (/m18Syn): ADMIN or this ability */
  29. M18_SYNC: "M18_SYNC",
  30. } as const;
  31. /**
  32. * FP-MTMS Version Checklist | Functions Ref. No. 51 | v1.0.1 | 2026-08-06
  33. * Match session ability codes (exact, trimmed).
  34. */
  35. export function hasAbility(
  36. abilities: string[] | undefined | null,
  37. required: string,
  38. ): boolean {
  39. const code = required.trim();
  40. return (abilities ?? []).some((a) => String(a).trim() === code);
  41. }