How to Build a Hybrid RBAC + PBAC Access Control System in TypeScript