KamoCRM

Every vertical names its own child app

Featurekamo-shared-library
Shipped
24 ஆகஸ்ட், 2026 அன்று 10:09 PM UTC
Author
Kamo
Commit
3797e1e

requiredService becomes total now that each vertical has a child app under ServiceType.POS, which deletes the "null means POS alone is enough" special case and isGated() with it. Each vertical can now be switched on, licensed and PHI-classified independently — which is what lets a medical practice use commerce at all, since RETAIL stays blocked for a PHI tenant while the rest of commerce does not. HEALTHCARE(ServiceType.EHR) is what makes the EHR appear at **************** when the app is on, with no new gating code: assertCommerceTypeAllowed, getAllowedCommerceTypes, the allowed-types endpoint behind both market pickers, **************** and the market list filter all already resolve through getRequiredService(). NOT PUSHED until the KamoInitializer backfill has run. assertCommerceTypeAllowed reads getRequiredService() directly, so the moment SecurityService sees this every org with a retail or rental market needs a child OrgFeature row it does not have yet.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing