Skip to main content
Skip to main content

RepositoryService

Data access layer (DAL) interface to implements for any repository service. This layer helps to separate the business logic (service layer) from accessing the ORM directly and allows to switch to another ORM without changing the business logic.

Type parameters

TobjectRequired

Methods

transaction

Type Parameters

TManagerobjectRequired

Parameters

task(transactionManager: TManager) => Promise<any>Required
contextobject
context.isolationLevelstring
context.transactionTManager
context.enableNestedTransactionsboolean

Returns

PromisePromise<any>Required

getFreshManager

Type Parameters

TManagerobjectRequired

Returns

TManagerTManagerRequired

getActiveManager

Type Parameters

TManagerobjectRequired

Returns

TManagerTManagerRequired

serialize

Type Parameters

TOutputobject | object[]Required

Parameters

dataanyRequired
optionsany

Returns

PromisePromise<TOutput>Required

find

Parameters

optionsFindOptions<T>
contextContext

Returns

PromisePromise<T[]>Required

findAndCount

Parameters

optionsFindOptions<T>
contextContext

Returns

PromisePromise<[T[], number]>Required

create

Parameters

dataany[]Required
contextContext

Returns

PromisePromise<T[]>Required

update

Parameters

dataobject[]Required
contextContext

Returns

PromisePromise<T[]>Required

delete

Parameters

idsOrPKs{ [Key in string | number | symbol]?: T[Key] extends string | number | bigint | boolean | symbol | Date ? any[any] | OperatorMap<any[any]> : T[Key] extends U ? U extends Object ? V extends object ? { [Key in string | number | symbol]?: Partial<V>[Key] extends string | number | bigint | boolean | symbol | Date ? any[any] | OperatorMap<any[any]> : Partial<V>[Key] extends U ? (U extends { [x: number]: infer V; } ? V extends object ? { [Key in keyof Partial<V>]?: (Partial<V>[Key] extends string | number | bigint | boolean | symbol | Date ? Partial<...>[Key] | OperatorMap<...> : Partial<...>[Key] extends infer U ? U extends { ...; } ? V extends object ? ... : never : never : never) | undefi...) : never } : never : never : never } & BaseFilterable<{ [Key in string | number | symbol]?: T[Key] extends string | number | bigint | boolean | symbol | Date ? any[any] | OperatorMap<any[any]> : T[Key] extends U ? U extends Object ? V extends object ? { [Key in string | number | symbol]?: Partial<V>[Key] extends string | number | bigint | boolean | symbol | Date ? any[any] | OperatorMap<any[any]> : Partial<V>[Key] extends U ? (U extends { [x: number]: infer V; } ? V extends object ? { [Key in keyof Partial<V>]?: (Partial<V>[Key] extends string | number | bigint | boolean | symbol | Date ? Partial<...>[Key] | OperatorMap<...> : Partial<...>[Key] extends infer U ? U extends { ...; } ? V extends object ? ... : never : never : never) | undefi...) : never } : never : never : never }>Required
contextContext

Returns

PromisePromise<void>Required

softDelete

Soft delete entities and cascade to related entities if configured.

Parameters

idsOrFilterstring[] | objectRequired
contextContext

Returns

PromisePromise<[T[], Record<string, unknown[]>]>Required
[T[], Record<string, string[]>] the second value being the map of the entity names and ids that were soft deleted

restore

Parameters

idsOrFilterstring[] | objectRequired
contextContext

Returns

PromisePromise<[T[], Record<string, unknown[]>]>Required

upsert

Parameters

dataany[]Required
contextContext

Returns

PromisePromise<T[]>Required
Was this section helpful?