Skip to content

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 ​

TenantRepository

options? ​

LookupCacheOptions = {}

onInvalidate? ​

InvalidationListener

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 ​

TenantId

Returns ​

Promise<boolean>

Implementation of ​

TenantRepository.exists


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 ​

TenantId

options? ​
withDeleted? ​

boolean

Returns ​

Promise<Tenant | undefined>

Implementation of ​

TenantRepository.findById


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 ​

Tenant

Returns ​

Promise<void>

Implementation of ​

TenantRepository.insert


invalidate() ​

invalidate(id): void

Defined in: core/src/infrastructure/cached-repositories.ts:90

Parameters ​

id ​

string

Returns ​

void


list() ​

list(query?): Promise<Page<Tenant>>

Defined in: core/src/infrastructure/cached-repositories.ts:74

Parameters ​

query? ​

TenantListQuery

Returns ​

Promise<Page<Tenant>>

Implementation of ​

TenantRepository.list


save() ​

save(tenant): Promise<void>

Defined in: core/src/infrastructure/cached-repositories.ts:84

Guarda los cambios de un tenant existente.

Parameters ​

tenant ​

Tenant

Returns ​

Promise<void>

Implementation of ​

TenantRepository.save

Publicado bajo la licencia MIT.