Documentation / @tenancy-node/core / PlanCatalog
Class: PlanCatalog
Defined in: core/src/domain/entities/plan.ts:141
Catálogo de módulos y planes de la configuración. Es la única fuente: de aquí salen los permisos de la API, /tenancy/me, el panel y los precios públicos.
Sin plans el control está apagado: todo tenant tiene todos los módulos.
Constructors
Constructor
new PlanCatalog(
config?):PlanCatalog
Defined in: core/src/domain/entities/plan.ts:149
Parameters
config?
PlanCatalogConfig = {}
Returns
PlanCatalog
Properties
defaultPlan
readonlydefaultPlan:string|null
Defined in: core/src/domain/entities/plan.ts:144
Accessors
enabled
Get Signature
get enabled():
boolean
Defined in: core/src/domain/entities/plan.ts:306
true si hay planes configurados (el control de módulos está activo).
Returns
boolean
Methods
applyOverrides()
applyOverrides(
overrides):void
Defined in: core/src/domain/entities/plan.ts:209
Aplica los cambios guardados desde el panel (reemplaza los anteriores). Valida el resultado como si fuera la configuración: si algo no cuadra, lanza InvalidPlanError y no cambia nada.
Parameters
overrides
readonly PlanOverride[]
Returns
void
check()
check(
overrides):void
Defined in: core/src/domain/entities/plan.ts:217
Valida cómo quedaría el catálogo con estos cambios, sin aplicarlos.
Parameters
overrides
readonly PlanOverride[]
Returns
void
describe()
describe():
PlanInfo[]
Defined in: core/src/domain/entities/plan.ts:227
Planes para el panel (incluye los archivados), con su origen.
Returns
PlanInfo[]
features()
features():
FeatureInfo[]
Defined in: core/src/domain/entities/plan.ts:310
Returns
hasFeature()
hasFeature(
id):boolean
Defined in: core/src/domain/entities/plan.ts:314
Parameters
id
string
Returns
boolean
hasPlan()
hasPlan(
id):boolean
Defined in: core/src/domain/entities/plan.ts:318
Parameters
id
string
Returns
boolean
isConfigPlan()
isConfigPlan(
id):boolean
Defined in: core/src/domain/entities/plan.ts:222
¿El plan viene de la configuración de código?
Parameters
id
string
Returns
boolean
normalizeOverrides()
normalizeOverrides(
overrides):TenantFeatureOverrides|null
Defined in: core/src/domain/entities/plan.ts:375
Valida y normaliza los cambios propios de un tenant. null si no queda ninguno.
Parameters
overrides
TenantFeatureOverrides | null | undefined
Returns
TenantFeatureOverrides | null
plan()
plan(
id):PublicPlan|undefined
Defined in: core/src/domain/entities/plan.ts:322
Parameters
id
string
Returns
PublicPlan | undefined
plans()
plans(
options?):PublicPlan[]
Defined in: core/src/domain/entities/plan.ts:328
Planes en el orden de la configuración. publicOnly deja fuera los public: false.
Parameters
options?
publicOnly?
boolean
Returns
resolve()
resolve(
plan,overrides):ResolvedFeatures
Defined in: core/src/domain/entities/plan.ts:335
Módulos y límites efectivos para un plan y sus cambios.
Parameters
plan
string | null
overrides
TenantFeatureOverrides | null
Returns
validatePlan()
validatePlan(
plan):void
Defined in: core/src/domain/entities/plan.ts:365
Lanza InvalidTenantDataError si hay planes configurados y plan no es uno de ellos.
Parameters
plan
string | null | undefined
Returns
void