Documentation / @tenancy-node/core / CachedTenantRepository
Class: CachedTenantRepository
Defined in: core/src/infrastructure/cached-repositories.ts:42
Decorator: agrega caché LRU + TTL a findById sin tocar el repositorio real. Guarda snapshots, así cada lectura devuelve una instancia nueva que se puede modificar. Las ausencias también se cachean para no consultar la base con ids inexistentes.
Implements
Constructors
Constructor
new CachedTenantRepository(
inner,options?,onInvalidate?):CachedTenantRepository
Defined in: core/src/infrastructure/cached-repositories.ts:45
Parameters
inner
options?
LookupCacheOptions = {}
onInvalidate?
Returns
CachedTenantRepository
Methods
clear()
clear():
void
Defined in: core/src/infrastructure/cached-repositories.ts:99
Returns
void
evict()
evict(
id):void
Defined in: core/src/infrastructure/cached-repositories.ts:95
Como invalidate, pero también avisa a las demás instancias.
Parameters
id
string
Returns
void
exists()
exists(
id):Promise<boolean>
Defined in: core/src/infrastructure/cached-repositories.ts:70
true si el id está ocupado, incluso por un tenant eliminado.
Parameters
id
Returns
Promise<boolean>
Implementation of
findById()
findById(
id,options?):Promise<Tenant|undefined>
Defined in: core/src/infrastructure/cached-repositories.ts:58
Devuelve el tenant, o undefined si no existe o está eliminado (salvo withDeleted).
Parameters
id
options?
withDeleted?
boolean
Returns
Promise<Tenant | undefined>
Implementation of
insert()
insert(
tenant):Promise<void>
Defined in: core/src/infrastructure/cached-repositories.ts:78
Inserta un tenant nuevo. Lanza TenantAlreadyExistsError si el id ya existe (aunque sea en paralelo).
Parameters
tenant
Returns
Promise<void>
Implementation of
invalidate()
invalidate(
id):void
Defined in: core/src/infrastructure/cached-repositories.ts:90
Parameters
id
string
Returns
void
list()
Defined in: core/src/infrastructure/cached-repositories.ts:74
Parameters
query?
Returns
Implementation of
save()
save(
tenant):Promise<void>
Defined in: core/src/infrastructure/cached-repositories.ts:84
Guarda los cambios de un tenant existente.
Parameters
tenant
Returns
Promise<void>