Skip to main content

Role Access Matrix

Role Definition

Source: App\\Models\\User + AuthServiceProvider + middleware access:*.

RolesCodeShort Description
Head Adminhead_adminmain approval and full control
Projectsprojectproject account owner
SPVspvproject supervisor
Logisticslogisticssupplier/logistics management
Logistics Adminlogistics_adminvariations in logistics access
Accountingaccountingpayment/tax process
Accounting Adminaccounting_adminaccounting with additional rights
SPKspkSPK module management
PMpmroles available in Gate/model (limited use of specific routes)

Functional Matrix

AreasHead AdminProjectsSPVLogistics/Logistics AdminAccountingSPK
Project masterCRUD-----
EmployeemasterCRUD-----
Master SupplierCRUD--CRUD-CRUD (supplier route access includes spk)
SPB create/updateapprove/deletecreate/updateread/listdownload/list--
PO create/updateapprove/cancel/deletestatus updatesstatus updatescreate/download/mark supplierread-
PO Paymentapprove/verify---update/check/submit-
Payment Splitapprove/paid---update/verify/paid-
SPK contractapprove/reject/finishlist/detail (depending on project access)--list/detail/accountingcreate/update/payment
SPK paymentapprove/reject/revise---edit/update/accountingcreate/update/delete

Middleware Summary

  • auth: web login required.
  • auth:sanctum: API token.
  • access:...: granular role validation.
  • tmd-bsa: basic auth for certain API docs endpoints.

Edge Cases

  • The accounting_admin role is considered valid on some accounting accesses (see middleware).
  • The project user role will be logged out automatically if the related project has been soft-deleted.

Verification Notes

  • Status: Partial
  • Scope: The use of the pm role on production endpoints has not been dominant in route audit results.
  • Action: Validate real access based on business policy + endpoint usage logs.