Skip to main content

Class: abstract AbstractRepository<ENTITY, ID, FIND_OPTIONS, FIELDS_REQUIRED_FOR_UPDATE, AUTO_GENERATED_FIELDS>

persistence-api/src.AbstractRepository

Extended By

Type parameters

ENTITY extends BaseEntity

ID extends keyof ENTITY

FIND_OPTIONS

FIELDS_REQUIRED_FOR_UPDATE extends keyof ENTITY = ID

AUTO_GENERATED_FIELDS extends keyof ENTITY = keyof BaseEntity | ID

Constructors

new AbstractRepository()

new AbstractRepository<ENTITY, ID, FIND_OPTIONS, FIELDS_REQUIRED_FOR_UPDATE, AUTO_GENERATED_FIELDS>(): AbstractRepository<ENTITY, ID, FIND_OPTIONS, FIELDS_REQUIRED_FOR_UPDATE, AUTO_GENERATED_FIELDS>

Returns

AbstractRepository<ENTITY, ID, FIND_OPTIONS, FIELDS_REQUIRED_FOR_UPDATE, AUTO_GENERATED_FIELDS>

Methods

abstract count

abstract count(query?): Promise<number>

Parameters

query?: FIND_OPTIONS

Returns

Promise<number>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:80


abstract create

create(entity)

abstract create(entity): Promise<ENTITY>

create entity if it already exists -> throw error

Parameters

entity: Omit<ENTITY, AUTO_GENERATED_FIELDS> & Partial<Pick<ENTITY, ID>>

Returns

Promise<ENTITY>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:33

create(entities)

abstract create(entities): Promise<ENTITY[]>

Parameters

entities: Omit<ENTITY, AUTO_GENERATED_FIELDS> & Partial<Pick<ENTITY, ID>>[]

Returns

Promise<ENTITY[]>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:37


abstract delete

delete(criteria)

abstract delete(criteria): Promise<boolean>

Parameters

criteria: ENTITY[ID]

Returns

Promise<boolean>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:97

delete(criteria)

abstract delete(criteria): Promise<boolean>

Parameters

criteria: ENTITY[ID][]

Returns

Promise<boolean>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:98


abstract entityName

abstract entityName(): string

usually it's just a class name, but it can be a table name or any other entity identifier, useful for i18n keys

Returns

string

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:103


abstract findAll

abstract findAll(query?, limitOptions?): Promise<ENTITY[]>

Parameters

query?: FIND_OPTIONS

limitOptions?: LimitOptions

Returns

Promise<ENTITY[]>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:82


abstract findAllPaginated

abstract findAllPaginated(query, config): Promise<Paginated<ENTITY>>

Parameters

query: PaginateQuery

config: PaginateConfig<ENTITY>

Returns

Promise<Paginated<ENTITY>>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:88


abstract findById

findById(id)

abstract findById(id): Promise<ENTITY>

Parameters

id: ENTITY[ID]

Returns

Promise<ENTITY>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:93

findById(ids)

abstract findById(ids): Promise<ENTITY[]>

Parameters

ids: ENTITY[ID][]

Returns

Promise<ENTITY[]>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:94


abstract findOne

abstract findOne(where): Promise<ENTITY>

Parameters

where: FIND_OPTIONS

Returns

Promise<ENTITY>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:95


presetWhereOptions

protected presetWhereOptions(criteria): FIND_OPTIONS

Used for auto filter population, useful for permission systems, global filters for security like by tenant id, or any other creative filters

Parameters

criteria: FIND_OPTIONS

Returns

FIND_OPTIONS

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:109


abstract update

update(entity)

abstract update(entity): Promise<ENTITY>

update entity if it doesn't exists -> throw error

Parameters

entity: Omit<ENTITY, AUTO_GENERATED_FIELDS> & Pick<ENTITY, FIELDS_REQUIRED_FOR_UPDATE>

Returns

Promise<ENTITY>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:46

update(entities)

abstract update(entities): Promise<ENTITY[]>

Parameters

entities: Omit<ENTITY, AUTO_GENERATED_FIELDS> & Pick<ENTITY, FIELDS_REQUIRED_FOR_UPDATE>[]

Returns

Promise<ENTITY[]>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:51


abstract updateByQuery

abstract updateByQuery(data, query): Promise<number>

Parameters

data: Partial<Omit<ENTITY, AUTO_GENERATED_FIELDS>>

query: FIND_OPTIONS

Returns

Promise<number>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:75


abstract updatePartial

updatePartial(entity)

abstract updatePartial(entity): Promise<Partial<ENTITY>>

update entity partial if it doesn't exist -> throw error

Parameters

entity: Partial<Omit<ENTITY, AUTO_GENERATED_FIELDS>> & Pick<ENTITY, FIELDS_REQUIRED_FOR_UPDATE>

Returns

Promise<Partial<ENTITY>>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:61

updatePartial(entities)

abstract updatePartial(entities): Promise<Partial<ENTITY>[]>

Parameters

entities: Partial<Omit<ENTITY, AUTO_GENERATED_FIELDS>> & Pick<ENTITY, FIELDS_REQUIRED_FOR_UPDATE>[]

Returns

Promise<Partial<ENTITY>[]>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:66


abstract upsert

upsert(entity)

abstract upsert(entity): Promise<ENTITY>

Parameters

entity: Omit<ENTITY, FIELDS_REQUIRED_FOR_UPDATE | AUTO_GENERATED_FIELDS> & Partial<Never<Pick<ENTITY, FIELDS_REQUIRED_FOR_UPDATE>>> | Omit<ENTITY, FIELDS_REQUIRED_FOR_UPDATE | AUTO_GENERATED_FIELDS> & Pick<ENTITY, FIELDS_REQUIRED_FOR_UPDATE>

Returns

Promise<ENTITY>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:13

upsert(entities)

abstract upsert(entities): Promise<ENTITY[]>

Parameters

entities: (Omit<ENTITY, FIELDS_REQUIRED_FOR_UPDATE | AUTO_GENERATED_FIELDS> & Partial<Never<Pick<ENTITY, FIELDS_REQUIRED_FOR_UPDATE>>> | Omit<ENTITY, FIELDS_REQUIRED_FOR_UPDATE | AUTO_GENERATED_FIELDS> & Pick<ENTITY, FIELDS_REQUIRED_FOR_UPDATE>)[]

Returns

Promise<ENTITY[]>

Source

libs/persistence-api/src/lib/repository/abstract.repository.ts:21


Generated using typedoc-plugin-markdown and TypeDoc