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