Skip to content

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 ​

readonly defaultPlan: 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 ​

FeatureInfo[]


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 ​

PublicPlan[]


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 ​

ResolvedFeatures


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

Publicado bajo la licencia MIT.