24 · Master Admin (platform ops)

SaaS operator console — provision tenants, manage plans/features, platform barcode catalog, platform analytics. Not a tenant’s business POS.

Role: master_admin only /master-admin/*

Who this is for

Master AdminTenant Business Hub
AudienceYou / GPE operatorsBusiness owner/manager
DataTenant metadata, health, catalogThat tenant’s sales/ops
AuthrequireRoles('master_admin')Tenant session roles
Audit Tenant update/archive/delete write best-effort audit events into the target tenant analytics DB (S11-6 fix).

UI routes

PathPurpose
/master-adminDashboard / portal hub
/master-admin/tenants · …/:idList / detail / edit
/master-admin/provisionCreate tenant + DBs
/master-admin/billingPlatform billing views
/master-admin/platform-catalogGlobal barcode/UPC catalog admin
Analytics / feature management pagesPlatform-level (files under master-admin/)

API

MountExamples
/api/master-admin GET tenants, system-health, platform-analytics; POST tenants; PUT/PATCH archive; DELETE
/api/master-admin/tenants provision, status, stats, test-provision, reset-password
Platform catalog CRUD + upload-image under master-admin platform-catalog router

Tenant provisioning

flowchart TD
  A[Master admin provision] --> B[Create tenant row master DB]
  B --> C[Create dev-slug main]
  C --> D[dev-analytics-slug]
  D --> E[dev-hr-slug]
  E --> F[Copy schema from templates]
  F --> G[Owner user + staff]
  G --> H[tenant_employees routing]
          

Service: comprehensiveTenantProvisioning.js (also older tenantProvisioning.js). Template DBs seed consistent schemas.

Platform product catalog

Global GTIN enrichment shared by all tenants — DocHub 09. Master owns CRUD + images; tenants only lookup.

File anchors

ConcernPath
Master admin APImasterAdmin.routes.js
Provisioningmaster-admin.tenant-provisioning.routes.js · comprehensiveTenantProvisioning
Catalog adminmasterAdmin.platformCatalog.routes.js · PlatformCatalogAdmin.jsx
UIfrontend/src/pages/master-admin/*
OAO24-master-admin.html · Appendix C provisioning