@russ-b/nestjs-common-tools
Version:
NestJS utility tools
24 lines (23 loc) • 1.53 kB
TypeScript
import { QueryDeepPartialEntity } from 'typeorm/query-builder/QueryPartialEntity';
import { DeepPartial, FindManyOptions, FindOneOptions, FindOptionsWhere, InsertResult, ObjectLiteral, Repository } from 'typeorm';
import { Logger } from '@nestjs/common';
import { UpsertOptions } from 'typeorm/repository/UpsertOptions';
export declare abstract class BaseEntityService<T extends ObjectLiteral> {
protected readonly repository: Repository<T>;
protected logger: Logger;
protected constructor(repository: Repository<T>);
create(entity: T | DeepPartial<T>): T;
save(entity: T | DeepPartial<T>): Promise<T>;
save(entities: (T | DeepPartial<T>)[]): Promise<T[]>;
update(id: number | number[] | string | string[] | FindOptionsWhere<T>, entity: T | DeepPartial<T>, options?: FindOneOptions<T>): Promise<T>;
findOne(options: FindOneOptions<T>): Promise<T | null>;
findOneBy(where: FindOptionsWhere<T>): Promise<T | null>;
find(options?: FindManyOptions<T>): Promise<T[]>;
findBy(where: FindOptionsWhere<T>): Promise<T[]>;
findAll(): Promise<T[]>;
findAndCount(options?: FindManyOptions<T>): Promise<[T[], number]>;
delete(id: number | string | FindOptionsWhere<T>): Promise<void>;
softDelete(id: number | string): Promise<void>;
toKeyValue(data: T[], key: keyof T, value: keyof T): Map<string, T[keyof T]>;
upsert(entityOrEntities: QueryDeepPartialEntity<T> | QueryDeepPartialEntity<T>[], conflictPathsOrOptions: string[] | UpsertOptions<T>): Promise<InsertResult>;
}