@rafikidota/iroh 0.44.0 → 0.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -9
- package/dist/common/database/query-builder/query-builder.d.ts +1 -0
- package/dist/common/database/query-builder/query-builder.js +3 -0
- package/dist/common/database/query-builder/query-builder.js.map +1 -1
- package/dist/common/database/typeorm-unit-of-work/interfaces/IUnitOfWork.d.ts +4 -4
- package/dist/common/database/typeorm-unit-of-work/typeorm-unit-of-work.provider.d.ts +4 -4
- package/dist/common/decorators/controller.decorator.d.ts +1 -0
- package/dist/common/decorators/controller.decorator.js +20 -0
- package/dist/common/decorators/controller.decorator.js.map +1 -0
- package/dist/common/decorators/entity-id.decorator.d.ts +5 -0
- package/dist/common/decorators/entity-id.decorator.js +44 -0
- package/dist/common/decorators/entity-id.decorator.js.map +1 -0
- package/dist/common/decorators/generic-get.decorator.js +2 -6
- package/dist/common/decorators/generic-get.decorator.js.map +1 -1
- package/dist/common/decorators/index.d.ts +5 -0
- package/dist/common/decorators/index.js +5 -0
- package/dist/common/decorators/index.js.map +1 -1
- package/dist/common/decorators/pagination.decorator.d.ts +2 -0
- package/dist/common/decorators/pagination.decorator.js +26 -0
- package/dist/common/decorators/pagination.decorator.js.map +1 -0
- package/dist/common/decorators/param.decorator.d.ts +1 -0
- package/dist/common/decorators/param.decorator.js +8 -0
- package/dist/common/decorators/param.decorator.js.map +1 -0
- package/dist/common/decorators/query.decorator.d.ts +1 -0
- package/dist/common/decorators/query.decorator.js +8 -0
- package/dist/common/decorators/query.decorator.js.map +1 -0
- package/dist/common/decorators/use-dto.decorator.d.ts +3 -3
- package/dist/common/dto/index.d.ts +1 -0
- package/dist/common/dto/index.js +1 -0
- package/dist/common/dto/index.js.map +1 -1
- package/dist/common/dto/pagination.view.d.ts +11 -0
- package/dist/common/dto/pagination.view.js +48 -0
- package/dist/common/dto/pagination.view.js.map +1 -0
- package/dist/common/index.d.ts +0 -1
- package/dist/common/index.js +0 -1
- package/dist/common/index.js.map +1 -1
- package/dist/common/interceptors/index.d.ts +0 -3
- package/dist/common/interceptors/index.js +0 -3
- package/dist/common/interceptors/index.js.map +1 -1
- package/dist/common/interceptors/response.interceptor.d.ts +2 -2
- package/dist/common/interceptors/response.interceptor.js +11 -17
- package/dist/common/interceptors/response.interceptor.js.map +1 -1
- package/dist/common/interfaces/crud.controller.d.ts +6 -5
- package/dist/common/interfaces/crud.repository.d.ts +6 -5
- package/dist/common/interfaces/crud.service.d.ts +9 -7
- package/dist/common/interfaces/generic.mapper.d.ts +4 -4
- package/dist/common/interfaces/index.d.ts +0 -1
- package/dist/common/interfaces/index.js +0 -1
- package/dist/common/interfaces/index.js.map +1 -1
- package/dist/common/types/index.d.ts +1 -0
- package/dist/common/types/index.js +1 -0
- package/dist/common/types/index.js.map +1 -1
- package/dist/common/types/pagination.d.ts +11 -0
- package/dist/common/{errors/types/app.error.js → types/pagination.js} +1 -1
- package/dist/common/types/pagination.js.map +1 -0
- package/dist/core/app/dto/generic.create.dto.d.ts +4 -4
- package/dist/core/app/dto/generic.view.d.ts +1 -1
- package/dist/core/app/dto/generic.view.js +6 -6
- package/dist/core/app/dto/generic.view.js.map +1 -1
- package/dist/core/app/dto/nomenclator.view.d.ts +2 -2
- package/dist/core/app/dto/nomenclator.view.js +1 -1
- package/dist/core/app/dto/nomenclator.view.js.map +1 -1
- package/dist/core/domain/generic.domain.d.ts +6 -6
- package/dist/core/domain/generic.domain.factory.d.ts +3 -3
- package/dist/core/domain/generic.domain.factory.js.map +1 -1
- package/dist/core/domain/generic.domain.js +3 -3
- package/dist/core/domain/generic.domain.js.map +1 -1
- package/dist/core/domain/nomenclator.domain.d.ts +2 -2
- package/dist/core/domain/nomenclator.domain.js +1 -1
- package/dist/core/domain/nomenclator.domain.js.map +1 -1
- package/dist/core/infra/generic.persistence.d.ts +1 -1
- package/dist/core/infra/generic.persistence.factory.d.ts +3 -3
- package/dist/core/infra/generic.persistence.factory.js.map +1 -1
- package/dist/core/infra/generic.persistence.js +7 -7
- package/dist/core/infra/generic.persistence.js.map +1 -1
- package/dist/core/infra/iroh.mapper.d.ts +4 -4
- package/dist/core/infra/iroh.repository.d.ts +7 -6
- package/dist/core/infra/iroh.repository.js +11 -4
- package/dist/core/infra/iroh.repository.js.map +1 -1
- package/dist/core/infra/nomenclator.persistence.d.ts +2 -2
- package/dist/core/infra/nomenclator.persistence.js +1 -1
- package/dist/core/infra/nomenclator.persistence.js.map +1 -1
- package/dist/core/iroh.controller.d.ts +7 -6
- package/dist/core/iroh.controller.js +3 -2
- package/dist/core/iroh.controller.js.map +1 -1
- package/dist/core/iroh.service.d.ts +7 -8
- package/dist/core/iroh.service.js +65 -102
- package/dist/core/iroh.service.js.map +1 -1
- package/dist/schematics/crud/files/ts/app/dto/__name__.view.ts +2 -2
- package/dist/schematics/crud/files/ts/domain/__name__.domain.ts +2 -2
- package/dist/schematics/crud/files/ts/infra/__name__.persistence.ts +2 -2
- package/package.json +11 -11
- package/dist/common/errors/database/index.d.ts +0 -1
- package/dist/common/errors/database/index.js +0 -18
- package/dist/common/errors/database/index.js.map +0 -1
- package/dist/common/errors/database/postgresql.error.d.ts +0 -6
- package/dist/common/errors/database/postgresql.error.js +0 -7
- package/dist/common/errors/database/postgresql.error.js.map +0 -1
- package/dist/common/errors/handler/error.handler.d.ts +0 -8
- package/dist/common/errors/handler/error.handler.js +0 -20
- package/dist/common/errors/handler/error.handler.js.map +0 -1
- package/dist/common/errors/handler/index.d.ts +0 -1
- package/dist/common/errors/handler/index.js +0 -18
- package/dist/common/errors/handler/index.js.map +0 -1
- package/dist/common/errors/index.d.ts +0 -4
- package/dist/common/errors/index.js +0 -21
- package/dist/common/errors/index.js.map +0 -1
- package/dist/common/errors/interfaces/IErrorHandler.d.ts +0 -4
- package/dist/common/errors/interfaces/IErrorHandler.js +0 -3
- package/dist/common/errors/interfaces/IErrorHandler.js.map +0 -1
- package/dist/common/errors/interfaces/index.d.ts +0 -1
- package/dist/common/errors/interfaces/index.js +0 -18
- package/dist/common/errors/interfaces/index.js.map +0 -1
- package/dist/common/errors/types/app.error.d.ts +0 -3
- package/dist/common/errors/types/app.error.js.map +0 -1
- package/dist/common/errors/types/index.d.ts +0 -1
- package/dist/common/errors/types/index.js +0 -18
- package/dist/common/errors/types/index.js.map +0 -1
- package/dist/common/errors/util/error.map.d.ts +0 -3
- package/dist/common/errors/util/error.map.js +0 -3
- package/dist/common/errors/util/error.map.js.map +0 -1
- package/dist/common/errors/util/index.d.ts +0 -1
- package/dist/common/errors/util/index.js +0 -18
- package/dist/common/errors/util/index.js.map +0 -1
- package/dist/common/interceptors/body.logger.interceptor.d.ts +0 -6
- package/dist/common/interceptors/body.logger.interceptor.js +0 -27
- package/dist/common/interceptors/body.logger.interceptor.js.map +0 -1
- package/dist/common/interceptors/query.logger.interceptor.d.ts +0 -6
- package/dist/common/interceptors/query.logger.interceptor.js +0 -27
- package/dist/common/interceptors/query.logger.interceptor.js.map +0 -1
- package/dist/common/interceptors/query.options.interceptor.d.ts +0 -8
- package/dist/common/interceptors/query.options.interceptor.js +0 -31
- package/dist/common/interceptors/query.options.interceptor.js.map +0 -1
- package/dist/common/interfaces/response.interceptor.d.ts +0 -8
- package/dist/common/interfaces/response.interceptor.js +0 -3
- package/dist/common/interfaces/response.interceptor.js.map +0 -1
package/README.md
CHANGED
|
@@ -174,26 +174,26 @@ export class HeroRepository extends IrohRepository<HeroMapper> {
|
|
|
174
174
|
```
|
|
175
175
|
|
|
176
176
|
### Persistence
|
|
177
|
-
Define your persistence by extending `
|
|
177
|
+
Define your persistence by extending `Persistence`:
|
|
178
178
|
```ts
|
|
179
179
|
import { Column, Entity } from 'typeorm';
|
|
180
|
-
import {
|
|
180
|
+
import { Persistence } from '@rafikidota/iroh';
|
|
181
181
|
import { IHero } from '../domain';
|
|
182
182
|
|
|
183
183
|
@Entity('hero')
|
|
184
|
-
export class HeroPersistence extends
|
|
184
|
+
export class HeroPersistence extends Persistence implements IHero {
|
|
185
185
|
@Column()
|
|
186
186
|
name: string;
|
|
187
187
|
}
|
|
188
188
|
```
|
|
189
189
|
|
|
190
190
|
### Domain
|
|
191
|
-
Define your domain by extending `
|
|
191
|
+
Define your domain by extending `Domain`:
|
|
192
192
|
```ts
|
|
193
193
|
import { DeepPartial } from 'typeorm';
|
|
194
194
|
import { Result } from '@rafikidota/iroh';
|
|
195
195
|
import { DomainFactory } from '@rafikidota/iroh';
|
|
196
|
-
import {
|
|
196
|
+
import { Domain } from '@rafikidota/iroh';
|
|
197
197
|
import { IUpdatableDomain } from '@rafikidota/iroh';
|
|
198
198
|
import { Props } from '@rafikidota/iroh';
|
|
199
199
|
import { IHero } from './hero.interface';
|
|
@@ -206,7 +206,7 @@ export type UpdateHeroProps = DeepPartial<NewHeroProps>;
|
|
|
206
206
|
|
|
207
207
|
export type IHeroDomain = IHero & IUpdatableDomain<HeroDomain>;
|
|
208
208
|
|
|
209
|
-
export class HeroDomain extends
|
|
209
|
+
export class HeroDomain extends Domain implements IHeroDomain {
|
|
210
210
|
name: string;
|
|
211
211
|
|
|
212
212
|
static create(props: NewHeroProps): Result<HeroDomain> {
|
|
@@ -222,19 +222,19 @@ export class HeroDomain extends GenericDomain implements IHeroDomain {
|
|
|
222
222
|
```
|
|
223
223
|
|
|
224
224
|
### View
|
|
225
|
-
Define your view by extending `OmitType` from the `IntersectionType` of `PartialType(CreateHeroDto)` and `
|
|
225
|
+
Define your view by extending `OmitType` from the `IntersectionType` of `PartialType(CreateHeroDto)` and `View`:
|
|
226
226
|
```ts
|
|
227
227
|
import { ApiProperty } from '@nestjs/swagger';
|
|
228
228
|
import { IntersectionType } from '@nestjs/swagger';
|
|
229
229
|
import { OmitType } from '@nestjs/swagger';
|
|
230
230
|
import { PartialType } from '@nestjs/swagger';
|
|
231
|
-
import {
|
|
231
|
+
import { View } from '@rafikidota/iroh';
|
|
232
232
|
import { CreateHeroDto } from './hero.create.dto';
|
|
233
233
|
import { HeroDomain, IHero } from '../../domain';
|
|
234
234
|
|
|
235
235
|
export class HeroView
|
|
236
236
|
extends OmitType(
|
|
237
|
-
IntersectionType(PartialType(CreateHeroDto),
|
|
237
|
+
IntersectionType(PartialType(CreateHeroDto), View),
|
|
238
238
|
[],
|
|
239
239
|
)
|
|
240
240
|
implements IHero
|
|
@@ -10,6 +10,7 @@ export declare class QueryBuilder<T> {
|
|
|
10
10
|
constructor(sqb: SelectQueryBuilder<T>);
|
|
11
11
|
addOptions(form: QueryForm<T>): void;
|
|
12
12
|
getMany(): Promise<T[]>;
|
|
13
|
+
getManyAndCount(): Promise<[T[], number]>;
|
|
13
14
|
getOne(): Promise<T>;
|
|
14
15
|
getCount(): Promise<number>;
|
|
15
16
|
getSql(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../../../src/common/database/query-builder/query-builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../../../src/common/database/query-builder/query-builder.ts"],"names":[],"mappings":";;;AAOA,mEAA8D;AAE9D,MAAa,YAAY;IAIvB,YAAY,GAA0B;QAH9B,UAAK,GAAW,OAAO,CAAC;QAI9B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,CAAC;IAEM,UAAU,CAAC,IAAkB;QAClC,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,aAAa,GAAG,qCAAgB,CAAC,gBAAgB,CACrD,IAAI,CAAC,SAA4B,EACjC,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAE9B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAEM,YAAY,CACjB,SAA4B,EAC5B,QAAgB,IAAI,CAAC,KAAK;QAE1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC;YACnC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACnD,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACnD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAEM,SAAS,CAAC,OAAwB,EAAE,QAAgB,IAAI,CAAC,KAAK;QACnE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QACpD,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC;YAC3C,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,QAAQ;oBACX,CAAC;wBACC,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;wBACpC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBAClC,CAAC;oBACD,MAAM;gBACR,KAAK,KAAK,KAAK,IAAI;oBACjB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;oBAC3C,MAAM;gBACR;oBACE,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAEM,QAAQ,CAAC,YAA4B,EAAE,QAAgB,IAAI,CAAC,KAAK;QACtE,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,qCAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,qCAAgB,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAEM,QAAQ,CAAC,YAA4B,EAAE,QAAgB,IAAI,CAAC,KAAK;QACtE,MAAM,UAAU,GAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACnC,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC;oBACrC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAQ,EAAE,QAAQ,CAAC,CAAC;gBACtD,CAAC;qBAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEM,QAAQ,CAAC,KAAa;QAC3B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEM,SAAS,CAAC,MAAc;QAC7B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;CACF;AA3HD,oCA2HC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Type } from '@nestjs/common';
|
|
2
2
|
import { UnitOfWorkResponse } from '../unit-of-work.response.type';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { Persistence } from '../../../../core/infra/generic.persistence';
|
|
4
|
+
import { View } from '../../../../core/app/dto/generic.view';
|
|
5
|
+
import { Domain } from '../../../../core/domain/generic.domain';
|
|
6
6
|
import { IGenericRepository } from '../../../interfaces/crud.repository';
|
|
7
7
|
export interface IUnitOfWork {
|
|
8
8
|
start(): Promise<void> | void;
|
|
9
9
|
commit<T>(work: () => Promise<UnitOfWorkResponse<T>>): Promise<UnitOfWorkResponse<T>>;
|
|
10
|
-
getRepository<T extends
|
|
10
|
+
getRepository<T extends Persistence = Persistence, D extends Domain = Domain, V extends View = View, R extends IGenericRepository<T, D, V> = IGenericRepository<T, D, V>>(Repo: Type<R>): R;
|
|
11
11
|
}
|
|
@@ -4,9 +4,9 @@ import { QueryRunner } from 'typeorm';
|
|
|
4
4
|
import { Repository } from 'typeorm';
|
|
5
5
|
import { IsolationLevel } from 'typeorm/driver/types/IsolationLevel';
|
|
6
6
|
import { IUnitOfWork } from './interfaces';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
7
|
+
import { Persistence } from '../../../core/infra/generic.persistence';
|
|
8
|
+
import { Domain } from '../../../core/domain/generic.domain';
|
|
9
|
+
import { View } from '../../../core/app/dto/generic.view';
|
|
10
10
|
import { IGenericRepository } from '../../interfaces/crud.repository';
|
|
11
11
|
import { Result } from '../../../core/app/result';
|
|
12
12
|
export declare class TypeOrmUnitOfWork implements IUnitOfWork {
|
|
@@ -16,7 +16,7 @@ export declare class TypeOrmUnitOfWork implements IUnitOfWork {
|
|
|
16
16
|
private logger;
|
|
17
17
|
constructor(dataSource: DataSource);
|
|
18
18
|
getQueryRunner(): QueryRunner;
|
|
19
|
-
getRepository<T extends
|
|
19
|
+
getRepository<T extends Persistence = Persistence, D extends Domain = Domain, V extends View = View, R extends IGenericRepository<T, D, V> = IGenericRepository<T, D, V>>(Repo: Type<IGenericRepository<T, D, V>>): R;
|
|
20
20
|
getRepositoryEntity<T>(repo: Type<T>): Repository<T>;
|
|
21
21
|
start(isolationLevel?: IsolationLevel): Promise<void>;
|
|
22
22
|
commit<T>(work: () => Promise<Result<T>>): Promise<Result<T>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function Controller(name: string): <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Controller = Controller;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const common_2 = require("@nestjs/common");
|
|
6
|
+
const common_3 = require("@nestjs/common");
|
|
7
|
+
const common_4 = require("@nestjs/common");
|
|
8
|
+
const http_exception_filter_1 = require("../filters/http.exception.filter");
|
|
9
|
+
const logging_interceptor_1 = require("../interceptors/logging.interceptor");
|
|
10
|
+
const response_interceptor_1 = require("../interceptors/response.interceptor");
|
|
11
|
+
function Controller(name) {
|
|
12
|
+
const decorators = [
|
|
13
|
+
(0, common_1.Controller)(name),
|
|
14
|
+
(0, common_2.UseFilters)(http_exception_filter_1.HttpExceptionFilter),
|
|
15
|
+
(0, common_3.UseInterceptors)(logging_interceptor_1.LoggingInterceptor),
|
|
16
|
+
(0, common_3.UseInterceptors)(response_interceptor_1.ResponseInterceptor),
|
|
17
|
+
];
|
|
18
|
+
return (0, common_4.applyDecorators)(...decorators);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=controller.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/controller.decorator.ts"],"names":[],"mappings":";;AASA,gCAQC;AAjBD,2CAA8D;AAC9D,2CAA4C;AAC5C,2CAAiD;AACjD,2CAAiD;AAEjD,4EAAuE;AACvE,6EAAyE;AACzE,+EAA2E;AAE3E,SAAgB,UAAU,CAAC,IAAY;IACrC,MAAM,UAAU,GAAG;QACjB,IAAA,mBAAc,EAAC,IAAI,CAAC;QACpB,IAAA,mBAAU,EAAC,2CAAmB,CAAC;QAC/B,IAAA,wBAAe,EAAC,wCAAkB,CAAC;QACnC,IAAA,wBAAe,EAAC,0CAAmB,CAAC;KACrC,CAAC;IACF,OAAO,IAAA,wBAAe,EAAC,GAAG,UAAU,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ApiPropertyOptions } from '@nestjs/swagger';
|
|
2
|
+
export declare function RequiredEntityDto(): <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
3
|
+
export declare function OptionalEntityDto(): <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
4
|
+
export declare function SwaggerRequiredEntityDto(options?: ApiPropertyOptions): <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
5
|
+
export declare function SwaggerOptionalEntityDto(options?: ApiPropertyOptions): <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequiredEntityDto = RequiredEntityDto;
|
|
4
|
+
exports.OptionalEntityDto = OptionalEntityDto;
|
|
5
|
+
exports.SwaggerRequiredEntityDto = SwaggerRequiredEntityDto;
|
|
6
|
+
exports.SwaggerOptionalEntityDto = SwaggerOptionalEntityDto;
|
|
7
|
+
const common_1 = require("@nestjs/common");
|
|
8
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
9
|
+
const class_validator_1 = require("class-validator");
|
|
10
|
+
const class_validator_2 = require("class-validator");
|
|
11
|
+
const class_validator_3 = require("class-validator");
|
|
12
|
+
const class_transformer_1 = require("class-transformer");
|
|
13
|
+
const entity_id_dto_1 = require("../dto/entity-id.dto");
|
|
14
|
+
function RequiredEntityDto() {
|
|
15
|
+
const decorators = [
|
|
16
|
+
(0, class_validator_1.ValidateNested)(),
|
|
17
|
+
(0, class_transformer_1.Type)(() => entity_id_dto_1.EntityIdDto),
|
|
18
|
+
(0, class_validator_3.IsNotEmptyObject)(),
|
|
19
|
+
];
|
|
20
|
+
return (0, common_1.applyDecorators)(...decorators);
|
|
21
|
+
}
|
|
22
|
+
function OptionalEntityDto() {
|
|
23
|
+
const decorators = [(0, class_validator_1.ValidateNested)(), (0, class_transformer_1.Type)(() => entity_id_dto_1.EntityIdDto), (0, class_validator_2.IsOptional)()];
|
|
24
|
+
return (0, common_1.applyDecorators)(...decorators);
|
|
25
|
+
}
|
|
26
|
+
function SwaggerRequiredEntityDto(options) {
|
|
27
|
+
const decorators = [
|
|
28
|
+
(0, swagger_1.ApiProperty)(options),
|
|
29
|
+
(0, class_validator_1.ValidateNested)(),
|
|
30
|
+
(0, class_transformer_1.Type)(() => entity_id_dto_1.EntityIdDto),
|
|
31
|
+
(0, class_validator_3.IsNotEmptyObject)(),
|
|
32
|
+
];
|
|
33
|
+
return (0, common_1.applyDecorators)(...decorators);
|
|
34
|
+
}
|
|
35
|
+
function SwaggerOptionalEntityDto(options) {
|
|
36
|
+
const decorators = [
|
|
37
|
+
(0, swagger_1.ApiProperty)(options),
|
|
38
|
+
(0, class_validator_1.ValidateNested)(),
|
|
39
|
+
(0, class_transformer_1.Type)(() => entity_id_dto_1.EntityIdDto),
|
|
40
|
+
(0, class_validator_2.IsOptional)(),
|
|
41
|
+
];
|
|
42
|
+
return (0, common_1.applyDecorators)(...decorators);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=entity-id.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-id.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/entity-id.decorator.ts"],"names":[],"mappings":";;AAWA,8CAOC;AAED,8CAGC;AAED,4DAQC;AAED,4DAQC;AA3CD,2CAAiD;AACjD,6CAA8C;AAG9C,qDAAiD;AACjD,qDAA6C;AAC7C,qDAAmD;AACnD,yDAAyC;AAEzC,wDAAmD;AAEnD,SAAgB,iBAAiB;IAC/B,MAAM,UAAU,GAAG;QACjB,IAAA,gCAAc,GAAE;QAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,2BAAW,CAAC;QACvB,IAAA,kCAAgB,GAAE;KACnB,CAAC;IACF,OAAO,IAAA,wBAAe,EAAC,GAAG,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,iBAAiB;IAC/B,MAAM,UAAU,GAAG,CAAC,IAAA,gCAAc,GAAE,EAAE,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,2BAAW,CAAC,EAAE,IAAA,4BAAU,GAAE,CAAC,CAAC;IAC7E,OAAO,IAAA,wBAAe,EAAC,GAAG,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,wBAAwB,CAAC,OAA4B;IACnE,MAAM,UAAU,GAAG;QACjB,IAAA,qBAAW,EAAC,OAAO,CAAC;QACpB,IAAA,gCAAc,GAAE;QAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,2BAAW,CAAC;QACvB,IAAA,kCAAgB,GAAE;KACnB,CAAC;IACF,OAAO,IAAA,wBAAe,EAAC,GAAG,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,wBAAwB,CAAC,OAA4B;IACnE,MAAM,UAAU,GAAG;QACjB,IAAA,qBAAW,EAAC,OAAO,CAAC;QACpB,IAAA,gCAAc,GAAE;QAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,2BAAW,CAAC;QACvB,IAAA,4BAAU,GAAE;KACb,CAAC;IACF,OAAO,IAAA,wBAAe,EAAC,GAAG,UAAU,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -8,12 +8,8 @@ const swagger_1 = require("@nestjs/swagger");
|
|
|
8
8
|
const swagger_2 = require("@nestjs/swagger");
|
|
9
9
|
const validation_pipe_1 = require("../pipes/validation.pipe");
|
|
10
10
|
const search_dto_1 = require("../dto/search.dto");
|
|
11
|
+
const pagination_decorator_1 = require("./pagination.decorator");
|
|
11
12
|
function GenericGet(View) {
|
|
12
|
-
return (0, common_1.applyDecorators)((0, common_2.Get)(), (0, swagger_1.ApiQuery)({ name: 'page', type: Number, required: false }), (0, swagger_1.ApiQuery)({ name: 'limit', type: Number, required: false }), (0, swagger_1.ApiQuery)({ name: 'offset', type: Number, required: false }), (0, swagger_1.ApiQuery)({ name: 'options', type: String, required: false }), (0, swagger_2.ApiResponse)({
|
|
13
|
-
status: 200,
|
|
14
|
-
description: `List of paginated entities`,
|
|
15
|
-
type: View,
|
|
16
|
-
isArray: true,
|
|
17
|
-
}), (0, swagger_2.ApiResponse)({ status: 400, description: 'Bad request' }), (0, swagger_2.ApiResponse)({ status: 401, description: 'Unauthorized' }), (0, swagger_2.ApiResponse)({ status: 403, description: 'Forbidden' }), (0, common_3.UsePipes)((0, validation_pipe_1.GenericValidationPipe)(search_dto_1.SearchDto)));
|
|
13
|
+
return (0, common_1.applyDecorators)((0, common_2.Get)(), (0, swagger_1.ApiQuery)({ name: 'page', type: Number, required: false }), (0, swagger_1.ApiQuery)({ name: 'limit', type: Number, required: false }), (0, swagger_1.ApiQuery)({ name: 'offset', type: Number, required: false }), (0, swagger_1.ApiQuery)({ name: 'options', type: String, required: false }), (0, pagination_decorator_1.PaginationResponse)(View), (0, swagger_2.ApiResponse)({ status: 400, description: 'Bad request' }), (0, swagger_2.ApiResponse)({ status: 401, description: 'Unauthorized' }), (0, swagger_2.ApiResponse)({ status: 403, description: 'Forbidden' }), (0, common_3.UsePipes)((0, validation_pipe_1.GenericValidationPipe)(search_dto_1.SearchDto)));
|
|
18
14
|
}
|
|
19
15
|
//# sourceMappingURL=generic-get.decorator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-get.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/generic-get.decorator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"generic-get.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/generic-get.decorator.ts"],"names":[],"mappings":";;AAUA,gCAaC;AAvBD,2CAAiD;AACjD,2CAAqC;AAErC,2CAA0C;AAC1C,6CAA2C;AAC3C,6CAA8C;AAC9C,8DAAiE;AACjE,kDAA8C;AAC9C,iEAA4D;AAE5D,SAAgB,UAAU,CAAI,IAAa;IACzC,OAAO,IAAA,wBAAe,EACpB,IAAA,YAAG,GAAE,EACL,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EACzD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAC1D,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAC3D,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAC5D,IAAA,yCAAkB,EAAC,IAAI,CAAC,EACxB,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EACxD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,EACzD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,EACtD,IAAA,iBAAQ,EAAC,IAAA,uCAAqB,EAAC,sBAAS,CAAC,CAAC,CAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
export * from './controller.decorator';
|
|
2
|
+
export * from './entity-id.decorator';
|
|
1
3
|
export * from './entity.decorator';
|
|
2
4
|
export * from './generic-delete.decorator';
|
|
3
5
|
export * from './generic-get-by-id.decorator';
|
|
4
6
|
export * from './generic-get.decorator';
|
|
5
7
|
export * from './generic-patch.decorator';
|
|
6
8
|
export * from './generic-post.decorator';
|
|
9
|
+
export * from './pagination.decorator';
|
|
10
|
+
export * from './param.decorator';
|
|
7
11
|
export * from './query-option.decorator';
|
|
12
|
+
export * from './query.decorator';
|
|
8
13
|
export * from './soft-unique.decorator';
|
|
9
14
|
export * from './use-dto.decorator';
|
|
@@ -14,13 +14,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./controller.decorator"), exports);
|
|
18
|
+
__exportStar(require("./entity-id.decorator"), exports);
|
|
17
19
|
__exportStar(require("./entity.decorator"), exports);
|
|
18
20
|
__exportStar(require("./generic-delete.decorator"), exports);
|
|
19
21
|
__exportStar(require("./generic-get-by-id.decorator"), exports);
|
|
20
22
|
__exportStar(require("./generic-get.decorator"), exports);
|
|
21
23
|
__exportStar(require("./generic-patch.decorator"), exports);
|
|
22
24
|
__exportStar(require("./generic-post.decorator"), exports);
|
|
25
|
+
__exportStar(require("./pagination.decorator"), exports);
|
|
26
|
+
__exportStar(require("./param.decorator"), exports);
|
|
23
27
|
__exportStar(require("./query-option.decorator"), exports);
|
|
28
|
+
__exportStar(require("./query.decorator"), exports);
|
|
24
29
|
__exportStar(require("./soft-unique.decorator"), exports);
|
|
25
30
|
__exportStar(require("./use-dto.decorator"), exports);
|
|
26
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,6DAA2C;AAC3C,gEAA8C;AAC9C,0DAAwC;AACxC,4DAA0C;AAC1C,2DAAyC;AACzC,2DAAyC;AACzC,0DAAwC;AACxC,sDAAoC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,wDAAsC;AACtC,qDAAmC;AACnC,6DAA2C;AAC3C,gEAA8C;AAC9C,0DAAwC;AACxC,4DAA0C;AAC1C,2DAAyC;AACzC,yDAAuC;AACvC,oDAAkC;AAClC,2DAAyC;AACzC,oDAAkC;AAClC,0DAAwC;AACxC,sDAAoC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginationResponse = PaginationResponse;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
6
|
+
const swagger_2 = require("@nestjs/swagger");
|
|
7
|
+
const swagger_3 = require("@nestjs/swagger");
|
|
8
|
+
const pagination_view_1 = require("../dto/pagination.view");
|
|
9
|
+
const pagination_view_2 = require("../dto/pagination.view");
|
|
10
|
+
function PaginationResponse(View) {
|
|
11
|
+
return (0, common_1.applyDecorators)((0, swagger_1.ApiExtraModels)(pagination_view_1.PaginationView, View), (0, swagger_2.ApiResponse)({
|
|
12
|
+
status: 200,
|
|
13
|
+
description: `List of paginated entities`,
|
|
14
|
+
schema: {
|
|
15
|
+
allOf: [{ $ref: (0, swagger_3.getSchemaPath)(pagination_view_1.PaginationView) }],
|
|
16
|
+
properties: {
|
|
17
|
+
items: {
|
|
18
|
+
type: 'array',
|
|
19
|
+
items: { $ref: (0, swagger_3.getSchemaPath)(View) },
|
|
20
|
+
},
|
|
21
|
+
meta: { $ref: (0, swagger_3.getSchemaPath)(pagination_view_2.PaginationMetaView) },
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=pagination.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/pagination.decorator.ts"],"names":[],"mappings":";;AAQA,gDAkBC;AA1BD,2CAAiD;AAEjD,6CAAiD;AACjD,6CAA8C;AAC9C,6CAAgD;AAChD,4DAAwD;AACxD,4DAA4D;AAE5D,SAAgB,kBAAkB,CAAI,IAAa;IACjD,OAAO,IAAA,wBAAe,EACpB,IAAA,wBAAc,EAAC,gCAAc,EAAE,IAAI,CAAC,EACpC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,4BAA4B;QACzC,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,gCAAc,CAAC,EAAE,CAAC;YAChD,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,IAAI,CAAC,EAAE;iBACrC;gBACD,IAAI,EAAE,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,oCAAkB,CAAC,EAAE;aAClD;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Param: () => ParameterDecorator;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Param = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const common_2 = require("@nestjs/common");
|
|
6
|
+
const Param = () => (0, common_1.Param)('id', common_2.ParseUUIDPipe);
|
|
7
|
+
exports.Param = Param;
|
|
8
|
+
//# sourceMappingURL=param.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"param.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/param.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAoD;AACpD,2CAA+C;AAExC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAA,cAAS,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAC;AAA7C,QAAA,KAAK,SAAwC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Query: () => ParameterDecorator;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Query = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const parse_query_pipe_1 = require("../pipes/parse-query.pipe");
|
|
6
|
+
const Query = () => (0, common_1.Query)(parse_query_pipe_1.ParseQueryPipe);
|
|
7
|
+
exports.Query = Query;
|
|
8
|
+
//# sourceMappingURL=query.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/query.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAoD;AAEpD,gEAA2D;AAEpD,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAA,cAAS,EAAC,iCAAc,CAAC,CAAC;AAAxC,QAAA,KAAK,SAAmC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Type } from '@nestjs/common';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { Domain } from '../../core/domain/generic.domain';
|
|
3
|
+
import { View } from '../../core/app/dto/generic.view';
|
|
4
4
|
import { DtoMapper } from '../../core/app/dto/generic.create.dto';
|
|
5
5
|
import { IGenericController } from '../interfaces/crud.controller';
|
|
6
|
-
export declare function UseDtos<D extends
|
|
6
|
+
export declare function UseDtos<D extends Domain, V extends View, DTO extends DtoMapper<D, DTO>, U extends Partial<DTO>>(CreateDto: Type<DTO>, UpdateDto: Type<U>, View: Type<V>): (target: new (...args: any[]) => IGenericController<D, V, DTO>) => void;
|
package/dist/common/dto/index.js
CHANGED
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./entity-id.dto"), exports);
|
|
18
18
|
__exportStar(require("./find-by-id.dto"), exports);
|
|
19
19
|
__exportStar(require("./pagination.dto"), exports);
|
|
20
|
+
__exportStar(require("./pagination.view"), exports);
|
|
20
21
|
__exportStar(require("./parsed-query-option.dto"), exports);
|
|
21
22
|
__exportStar(require("./parsed-search.dto"), exports);
|
|
22
23
|
__exportStar(require("./query-option.dto"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,mDAAiC;AACjC,mDAAiC;AACjC,4DAA0C;AAC1C,sDAAoC;AACpC,qDAAmC;AACnC,+CAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,mDAAiC;AACjC,mDAAiC;AACjC,oDAAkC;AAClC,4DAA0C;AAC1C,sDAAoC;AACpC,qDAAmC;AACnC,+CAA6B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PaginationView = exports.PaginationMetaView = void 0;
|
|
13
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
class PaginationMetaView {
|
|
15
|
+
}
|
|
16
|
+
exports.PaginationMetaView = PaginationMetaView;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, swagger_1.ApiProperty)({ required: true, example: 120 }),
|
|
19
|
+
__metadata("design:type", Number)
|
|
20
|
+
], PaginationMetaView.prototype, "total", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, swagger_1.ApiProperty)({ required: false, example: 2 }),
|
|
23
|
+
__metadata("design:type", Number)
|
|
24
|
+
], PaginationMetaView.prototype, "page", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, swagger_1.ApiProperty)({ required: false, example: 10 }),
|
|
27
|
+
__metadata("design:type", Number)
|
|
28
|
+
], PaginationMetaView.prototype, "limit", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, swagger_1.ApiProperty)({ required: false, example: 20 }),
|
|
31
|
+
__metadata("design:type", Number)
|
|
32
|
+
], PaginationMetaView.prototype, "offset", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, swagger_1.ApiProperty)({ required: false, example: 12 }),
|
|
35
|
+
__metadata("design:type", Number)
|
|
36
|
+
], PaginationMetaView.prototype, "pages", void 0);
|
|
37
|
+
class PaginationView {
|
|
38
|
+
}
|
|
39
|
+
exports.PaginationView = PaginationView;
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, swagger_1.ApiProperty)({ isArray: true }),
|
|
42
|
+
__metadata("design:type", Array)
|
|
43
|
+
], PaginationView.prototype, "items", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, swagger_1.ApiProperty)({ type: () => PaginationMetaView }),
|
|
46
|
+
__metadata("design:type", PaginationMetaView)
|
|
47
|
+
], PaginationView.prototype, "meta", void 0);
|
|
48
|
+
//# sourceMappingURL=pagination.view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.view.js","sourceRoot":"","sources":["../../../src/common/dto/pagination.view.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,kBAAkB;CAe9B;AAfD,gDAeC;AAbC;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;;iDAC/B;AAGf;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;gDAC/B;AAGd;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;iDAC/B;AAGf;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;kDAC9B;AAGhB;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;iDAC/B;AAGjB,MAAa,cAAc;CAM1B;AAND,wCAMC;AAJC;IADC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;6CACpB;AAGX;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC;8BAC1C,kBAAkB;4CAAC"}
|
package/dist/common/index.d.ts
CHANGED
package/dist/common/index.js
CHANGED
|
@@ -17,7 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./database"), exports);
|
|
18
18
|
__exportStar(require("./decorators"), exports);
|
|
19
19
|
__exportStar(require("./dto"), exports);
|
|
20
|
-
__exportStar(require("./errors"), exports);
|
|
21
20
|
__exportStar(require("./filters"), exports);
|
|
22
21
|
__exportStar(require("./interceptors"), exports);
|
|
23
22
|
__exportStar(require("./interfaces"), exports);
|
package/dist/common/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,+CAA6B;AAC7B,wCAAsB;AACtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,+CAA6B;AAC7B,wCAAsB;AACtB,4CAA0B;AAC1B,iDAA+B;AAC/B,+CAA6B;AAC7B,4CAA0B;AAC1B,gDAA8B;AAC9B,4CAA0B;AAC1B,0CAAwB"}
|
|
@@ -14,9 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./body.logger.interceptor"), exports);
|
|
18
17
|
__exportStar(require("./logging.interceptor"), exports);
|
|
19
|
-
__exportStar(require("./query.logger.interceptor"), exports);
|
|
20
|
-
__exportStar(require("./query.options.interceptor"), exports);
|
|
21
18
|
__exportStar(require("./response.interceptor"), exports);
|
|
22
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/interceptors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/interceptors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,yDAAuC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { CallHandler } from '@nestjs/common';
|
|
2
|
-
import { ExecutionContext } from '@nestjs/common';
|
|
3
1
|
import { NestInterceptor } from '@nestjs/common';
|
|
2
|
+
import { ExecutionContext } from '@nestjs/common';
|
|
3
|
+
import { CallHandler } from '@nestjs/common';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
export declare class ResponseInterceptor implements NestInterceptor {
|
|
6
6
|
intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
|
|
@@ -8,26 +8,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.ResponseInterceptor = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
|
-
const
|
|
11
|
+
const rxjs_1 = require("rxjs");
|
|
12
|
+
const uuid_1 = require("uuid");
|
|
12
13
|
let ResponseInterceptor = class ResponseInterceptor {
|
|
13
14
|
intercept(context, next) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
const request = (0, uuid_1.v4)();
|
|
16
|
+
const startTime = Date.now();
|
|
17
|
+
return next.handle().pipe((0, rxjs_1.map)((data) => {
|
|
18
|
+
const endTime = Date.now();
|
|
19
|
+
return {
|
|
20
|
+
payload: data,
|
|
21
|
+
request,
|
|
22
|
+
startTime,
|
|
23
|
+
endTime,
|
|
18
24
|
};
|
|
19
|
-
switch (true) {
|
|
20
|
-
case res instanceof Array:
|
|
21
|
-
payload.data = { items: res };
|
|
22
|
-
break;
|
|
23
|
-
case res instanceof Object:
|
|
24
|
-
payload.data = res;
|
|
25
|
-
break;
|
|
26
|
-
default:
|
|
27
|
-
return res;
|
|
28
|
-
}
|
|
29
|
-
const body = { payload };
|
|
30
|
-
return body;
|
|
31
25
|
}));
|
|
32
26
|
}
|
|
33
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.interceptor.js","sourceRoot":"","sources":["../../../src/common/interceptors/response.interceptor.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"response.interceptor.js","sourceRoot":"","sources":["../../../src/common/interceptors/response.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAI5C,+BAAuC;AACvC,+BAAoC;AAG7B,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,MAAM,OAAO,GAAG,IAAA,SAAM,GAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,UAAG,EAAC,CAAC,IAAI,EAAE,EAAE;YACX,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO;gBACP,SAAS;gBACT,OAAO;aACR,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAjBY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;GACA,mBAAmB,CAiB/B"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { SearchDto } from '../../common/dto';
|
|
2
2
|
import { QueryOptionDto } from '../../common/dto';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { Domain } from '../../core/domain/generic.domain';
|
|
4
|
+
import { View } from '../../core/app/dto/generic.view';
|
|
5
5
|
import { DtoMapper } from '../../core/app/dto/generic.create.dto';
|
|
6
|
-
|
|
6
|
+
import { Pagination as Page } from '../types/pagination';
|
|
7
|
+
export type IGenericController<D extends Domain, V extends View, DTO extends DtoMapper<D, DTO>> = {
|
|
7
8
|
create(body: DTO): Promise<Partial<V>>;
|
|
8
|
-
paginate(query: SearchDto): Promise<Partial<V
|
|
9
|
+
paginate(query: SearchDto): Promise<Page<Partial<V>>>;
|
|
9
10
|
findById(id: string, query: QueryOptionDto): Promise<Partial<V>>;
|
|
10
11
|
update(id: string, body: Partial<DTO>): Promise<Partial<V>>;
|
|
11
12
|
remove(id: string): Promise<Partial<V>>;
|
|
12
13
|
mapView(domain: D): V;
|
|
13
|
-
mapViewList(
|
|
14
|
+
mapViewList(pagination: Page<D>): Page<V>;
|
|
14
15
|
};
|