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
T
objectRequiredMethods
transaction
Type Parameters
TManager
objectRequiredParameters
task
(transactionManager: TManager) => Promise<any>Requiredcontext
object
context
objectcontext.isolationLevel
stringcontext.transaction
TManagercontext.enableNestedTransactions
booleanReturns
Promise
Promise<any>Required
Promise
Promise<any>RequiredgetFreshManager
Type Parameters
TManager
objectRequiredReturns
TManager
TManagerRequiredgetActiveManager
Type Parameters
TManager
objectRequiredReturns
TManager
TManagerRequiredserialize
Type Parameters
TOutput
object | object[]RequiredParameters
data
anyRequiredoptions
anyReturns
Promise
Promise<TOutput>Required
Promise
Promise<TOutput>Requiredfind
Parameters
options
FindOptions<T>
options
FindOptions<T>context
Context
context
ContextReturns
Promise
Promise<T[]>Required
Promise
Promise<T[]>RequiredfindAndCount
Parameters
options
FindOptions<T>
options
FindOptions<T>context
Context
context
ContextReturns
Promise
Promise<[T[], number]>Required
Promise
Promise<[T[], number]>Requiredcreate
Parameters
data
any[]Requiredcontext
Context
context
ContextReturns
Promise
Promise<T[]>Required
Promise
Promise<T[]>Requiredupdate
Parameters
data
object[]Required
data
object[]Requiredcontext
Context
context
ContextReturns
Promise
Promise<T[]>Required
Promise
Promise<T[]>Requireddelete
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
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 }>Requiredcontext
Context
context
ContextReturns
Promise
Promise<void>RequiredsoftDelete
Soft delete entities and cascade to related entities if configured.
Parameters
idsOrFilter
string[] | objectRequiredcontext
Context
context
ContextReturns
Promise
Promise<[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
Promise
Promise<[T[], Record<string, unknown[]>]>Requiredrestore
Parameters
idsOrFilter
string[] | objectRequiredcontext
Context
context
ContextReturns
Promise
Promise<[T[], Record<string, unknown[]>]>Required
Promise
Promise<[T[], Record<string, unknown[]>]>Requiredupsert
Parameters
data
any[]Requiredcontext
Context
context
ContextReturns
Promise
Promise<T[]>Required
Promise
Promise<T[]>RequiredWas this section helpful?