Typeorm Infrastructure
This library provides a simple wrapper around TypeORM functions in order to provide consistent and predictable error messages, it uses Boom to generate error objects.
Installation
npm install typeorm-infrastructure --save
Usage
Step 1:
Create a TypeORM entity:
;
Step 2:
Create a repository for the entity above:
; ;
Step 3:
Create a service for the entity above:
; ;
Repository API
The base repository will give you access to the following methods:
getAlloptions?: FindManyOptions<T>: Promise<T>;findManyByFilteroptions: FindManyOptions<T>: Promise<T>;findOneByIdid: number: Promise<T>;findOneByIdWithOptionsid: number, options?: FindOneOptions<T>: Promise<T>;findManyByIdidList: number, options?: FindOneOptions<T>: Promise<T>;findOneByFilteroptions: FindOneOptions<T>: Promise<T>;saverecord: T, options?: SaveOptions: Promise<T>;saveAll records: T, options?: SaveOptions, resolveRelations?: boolean: Promise<T>;updateOneByIdid: number, record: T: Promise<T>;deleteOneById id: number, findOptions?: FindOneOptions<T>, deleteOptions?: RemoveOptions: Promise<T>;deleteManyByIdidList: number, deleteOptions?: RemoveOptions: Promise<T>;findOneWithQueryBuilder options: ISearchQueryBuilderOptions: Promise<T | undefined>;findManyWithQueryBuilderoptions: ISearchQueryBuilderOptions: Promise<T>;delete
Service API
The base service will give you access to the following methods:
preSaveHookentity: T: void;preSaveHookentity: T: void;preUpdateHookentity: T: void;preDeleteHookentity: T: void;preResultHookentity: T: void;validIdid: number: boolean;isValidentity: T: Promise<boolean>;findAll: Promise<T>;findAllByFilterfilter: FindManyOptions<T>: Promise<T>;findOneByIdid: number: Promise<T>;findOneByFilterfilter: FindOneOptions<T>: Promise<T>;findOneWithQueryBuilderoptions: ISearchQueryBuilderOptions: Promise<T>;findManyWithQueryBuilderoptions: ISearchQueryBuilderOptions: Promise<T>;searchlimit: number, searchTerms: SearchTerm;saveentity: T: Promise<T>;saveAllentities: T: Promise<T>;updateentity: T, id: number: Promise<T>;updateAllentities: T: Promise<T>;getSearchFilter limit: number, searchTerms: SearchTerm: ISearchQueryBuilderOptions;delete