@node-c/api-rest 1.0.0-alpha4 → 1.0.0-alpha40

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.
Files changed (38) hide show
  1. package/dist/entityController/dto/base.dto.d.ts +2 -2
  2. package/dist/entityController/dto/base.dto.js +3 -2
  3. package/dist/entityController/dto/base.dto.js.map +1 -1
  4. package/dist/entityController/dto/bulkCreate.dto.d.ts +1 -1
  5. package/dist/entityController/dto/bulkCreate.dto.js +2 -2
  6. package/dist/entityController/dto/bulkCreate.dto.js.map +1 -1
  7. package/dist/entityController/dto/create.dto.d.ts +1 -1
  8. package/dist/entityController/dto/create.dto.js +1 -1
  9. package/dist/entityController/dto/create.dto.js.map +1 -1
  10. package/dist/entityController/dto/delete.dto.js +1 -0
  11. package/dist/entityController/dto/delete.dto.js.map +1 -1
  12. package/dist/entityController/dto/find.dto.d.ts +2 -2
  13. package/dist/entityController/dto/find.dto.js +8 -6
  14. package/dist/entityController/dto/find.dto.js.map +1 -1
  15. package/dist/entityController/dto/findOne.dto.d.ts +2 -2
  16. package/dist/entityController/dto/findOne.dto.js +5 -3
  17. package/dist/entityController/dto/findOne.dto.js.map +1 -1
  18. package/dist/entityController/dto/update.dto.d.ts +2 -1
  19. package/dist/entityController/dto/update.dto.js +7 -2
  20. package/dist/entityController/dto/update.dto.js.map +1 -1
  21. package/dist/entityController/rest.entity.controller.d.ts +8 -2
  22. package/dist/entityController/rest.entity.controller.js +9 -3
  23. package/dist/entityController/rest.entity.controller.js.map +1 -1
  24. package/package.json +5 -4
  25. package/src/entityController/dto/base.dto.ts +0 -16
  26. package/src/entityController/dto/bulkCreate.dto.ts +0 -15
  27. package/src/entityController/dto/create.dto.ts +0 -15
  28. package/src/entityController/dto/delete.dto.ts +0 -11
  29. package/src/entityController/dto/find.dto.ts +0 -35
  30. package/src/entityController/dto/findOne.dto.ts +0 -22
  31. package/src/entityController/dto/index.ts +0 -9
  32. package/src/entityController/dto/numberItem.dto.ts +0 -12
  33. package/src/entityController/dto/update.dto.ts +0 -22
  34. package/src/entityController/dto/uploadFile.dto.ts +0 -12
  35. package/src/entityController/index.ts +0 -3
  36. package/src/entityController/rest.entity.controller.definitions.ts +0 -28
  37. package/src/entityController/rest.entity.controller.ts +0 -277
  38. package/src/index.ts +0 -1
@@ -1,5 +1,5 @@
1
- import { DomainPersistanceServicesKey, GenericObject } from '@node-c/core';
1
+ import { DomainBaseAdditionalServiceOptionsOverrides, DomainPersistanceServicesKey, GenericObject } from '@node-c/core';
2
2
  export declare class BaseDto<Options> {
3
- optionsOverridesByService?: GenericObject<Partial<Options>>;
3
+ optionsOverridesByService?: GenericObject<Partial<Options>> & DomainBaseAdditionalServiceOptionsOverrides;
4
4
  persistanceServices?: DomainPersistanceServicesKey[];
5
5
  }
@@ -15,13 +15,14 @@ class BaseDto {
15
15
  }
16
16
  exports.BaseDto = BaseDto;
17
17
  __decorate([
18
- (0, class_validator_1.IsOptional)(),
18
+ (0, class_validator_1.IsNotEmptyObject)(),
19
19
  (0, class_validator_1.IsObject)(),
20
+ (0, class_validator_1.IsOptional)(),
20
21
  __metadata("design:type", Object)
21
22
  ], BaseDto.prototype, "optionsOverridesByService", void 0);
22
23
  __decorate([
24
+ (0, class_validator_1.IsArray)(),
23
25
  (0, class_validator_1.IsOptional)(),
24
- (0, class_validator_1.IsObject)(),
25
26
  __metadata("design:type", Array)
26
27
  ], BaseDto.prototype, "persistanceServices", void 0);
27
28
  //# sourceMappingURL=base.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/base.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAuD;AAKvD,MAAa,OAAO;CAQnB;AARD,0BAQC;AALC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;0DACiD;AAI5D;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oDAC0C"}
1
+ {"version":3,"file":"base.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/base.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAkF;AAKlF,MAAa,OAAO;CASnB;AATD,0BASC;AALC;IAHC,IAAA,kCAAgB,GAAE;IAClB,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0DAC6F;AAI1G;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;;oDACwC"}
@@ -1,5 +1,5 @@
1
1
  import { BaseDto } from './base.dto';
2
2
  import { BulkCreateBody, BulkCreateOptions } from '../rest.entity.controller.definitions';
3
3
  export declare class BulkCreateDto<Entity, Options extends BulkCreateOptions<Entity>> extends BaseDto<Options> implements BulkCreateBody<Entity> {
4
- data: Entity[];
4
+ data: Partial<Entity>[];
5
5
  }
@@ -16,9 +16,9 @@ class BulkCreateDto extends base_dto_1.BaseDto {
16
16
  }
17
17
  exports.BulkCreateDto = BulkCreateDto;
18
18
  __decorate([
19
+ (0, class_validator_1.ArrayNotEmpty)(),
20
+ (0, class_validator_1.IsArray)(),
19
21
  (0, class_validator_1.IsDefined)(),
20
- (0, class_validator_1.IsObject)(),
21
- (0, class_validator_1.IsNotEmptyObject)(),
22
22
  __metadata("design:type", Array)
23
23
  ], BulkCreateDto.prototype, "data", void 0);
24
24
  //# sourceMappingURL=bulkCreate.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bulkCreate.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/bulkCreate.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAwE;AAExE,yCAAqC;AAIrC,MAAa,aACX,SAAQ,kBAAgB;CAOzB;AARD,sCAQC;AADC;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,0BAAQ,GAAE;IACV,IAAA,kCAAgB,GAAE;;2CACJ"}
1
+ {"version":3,"file":"bulkCreate.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/bulkCreate.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAoE;AAEpE,yCAAqC;AAIrC,MAAa,aACX,SAAQ,kBAAgB;CAOzB;AARD,sCAQC;AADC;IAHC,IAAA,+BAAa,GAAE;IACf,IAAA,yBAAO,GAAE;IACT,IAAA,2BAAS,GAAE;;2CACY"}
@@ -1,5 +1,5 @@
1
1
  import { BaseDto } from './base.dto';
2
2
  import { CreateBody, CreateOptions } from '../rest.entity.controller.definitions';
3
3
  export declare class CreateDto<Entity, Options extends CreateOptions<Entity>> extends BaseDto<Options> implements CreateBody<Entity> {
4
- data: Entity;
4
+ data: Partial<Entity>;
5
5
  }
@@ -17,8 +17,8 @@ class CreateDto extends base_dto_1.BaseDto {
17
17
  exports.CreateDto = CreateDto;
18
18
  __decorate([
19
19
  (0, class_validator_1.IsDefined)(),
20
- (0, class_validator_1.IsObject)(),
21
20
  (0, class_validator_1.IsNotEmptyObject)(),
21
+ (0, class_validator_1.IsObject)(),
22
22
  __metadata("design:type", Object)
23
23
  ], CreateDto.prototype, "data", void 0);
24
24
  //# sourceMappingURL=create.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/create.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAwE;AAExE,yCAAqC;AAIrC,MAAa,SACX,SAAQ,kBAAgB;CAOzB;AARD,8BAQC;AADC;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,0BAAQ,GAAE;IACV,IAAA,kCAAgB,GAAE;;uCACN"}
1
+ {"version":3,"file":"create.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/create.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAwE;AAExE,yCAAqC;AAIrC,MAAa,SACX,SAAQ,kBAAgB;CAOzB;AARD,8BAQC;AADC;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,kCAAgB,GAAE;IAClB,IAAA,0BAAQ,GAAE;;uCACW"}
@@ -17,6 +17,7 @@ class DeleteDto extends base_dto_1.BaseDto {
17
17
  exports.DeleteDto = DeleteDto;
18
18
  __decorate([
19
19
  (0, class_validator_1.IsDefined)(),
20
+ (0, class_validator_1.IsNotEmptyObject)(),
20
21
  (0, class_validator_1.IsObject)(),
21
22
  __metadata("design:type", Object)
22
23
  ], DeleteDto.prototype, "filters", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"delete.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/delete.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAsD;AAEtD,yCAAqC;AAErC,MAAa,SAA+C,SAAQ,kBAAgB;CAInF;AAJD,8BAIC;AADC;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,0BAAQ,GAAE;;0CACqB"}
1
+ {"version":3,"file":"delete.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/delete.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAwE;AAExE,yCAAqC;AAErC,MAAa,SAA+C,SAAQ,kBAAgB;CAKnF;AALD,8BAKC;AADC;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,kCAAgB,GAAE;IAClB,IAAA,0BAAQ,GAAE;;0CACqB"}
@@ -1,10 +1,10 @@
1
- import { DomainFindOptions, GenericObject } from '@node-c/core';
1
+ import { DomainFindOptions, GenericObject, PersistanceOrderByDirection } from '@node-c/core';
2
2
  import { BaseDto } from './base.dto';
3
3
  export declare class FindDto<Options extends DomainFindOptions> extends BaseDto<Options> implements DomainFindOptions {
4
4
  filters?: GenericObject;
5
5
  findAll?: boolean;
6
6
  include?: string[];
7
- orderBy?: GenericObject<string>;
7
+ orderBy?: GenericObject<PersistanceOrderByDirection>;
8
8
  page?: number;
9
9
  perPage?: number;
10
10
  select?: string[];
@@ -16,38 +16,40 @@ class FindDto extends base_dto_1.BaseDto {
16
16
  }
17
17
  exports.FindDto = FindDto;
18
18
  __decorate([
19
+ (0, class_validator_1.IsNotEmptyObject)(),
19
20
  (0, class_validator_1.IsObject)(),
20
21
  (0, class_validator_1.IsOptional)(),
21
22
  __metadata("design:type", Object)
22
23
  ], FindDto.prototype, "filters", void 0);
23
24
  __decorate([
24
- (0, class_validator_1.IsOptional)(),
25
25
  (0, class_validator_1.IsBooleanString)(),
26
+ (0, class_validator_1.IsOptional)(),
26
27
  __metadata("design:type", Boolean)
27
28
  ], FindDto.prototype, "findAll", void 0);
28
29
  __decorate([
29
- (0, class_validator_1.IsOptional)(),
30
30
  (0, class_validator_1.IsArray)(),
31
+ (0, class_validator_1.IsOptional)(),
31
32
  __metadata("design:type", Array)
32
33
  ], FindDto.prototype, "include", void 0);
33
34
  __decorate([
34
- (0, class_validator_1.IsOptional)(),
35
35
  (0, class_validator_1.IsObject)(),
36
+ (0, class_validator_1.IsOptional)(),
37
+ (0, class_validator_1.IsNotEmptyObject)(),
36
38
  __metadata("design:type", Object)
37
39
  ], FindDto.prototype, "orderBy", void 0);
38
40
  __decorate([
39
- (0, class_validator_1.IsOptional)(),
40
41
  (0, class_validator_1.IsNumberString)(),
42
+ (0, class_validator_1.IsOptional)(),
41
43
  __metadata("design:type", Number)
42
44
  ], FindDto.prototype, "page", void 0);
43
45
  __decorate([
44
- (0, class_validator_1.IsOptional)(),
45
46
  (0, class_validator_1.IsNumberString)(),
47
+ (0, class_validator_1.IsOptional)(),
46
48
  __metadata("design:type", Number)
47
49
  ], FindDto.prototype, "perPage", void 0);
48
50
  __decorate([
49
- (0, class_validator_1.IsOptional)(),
50
51
  (0, class_validator_1.IsArray)(),
52
+ (0, class_validator_1.IsOptional)(),
51
53
  __metadata("design:type", Array)
52
54
  ], FindDto.prototype, "select", void 0);
53
55
  //# sourceMappingURL=find.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"find.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/find.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAiG;AAEjG,yCAAqC;AAErC,MAAa,OAA2C,SAAQ,kBAAgB;CA4B/E;AA5BD,0BA4BC;AAzBC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wCACW;AAIxB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,iCAAe,GAAE;;wCACA;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;;wCACS;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wCACqB;AAIhC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;;qCACH;AAId;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;;wCACA;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;;uCACQ"}
1
+ {"version":3,"file":"find.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/find.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAmH;AAEnH,yCAAqC;AAErC,MAAa,OAA2C,SAAQ,kBAAgB;CA8B/E;AA9BD,0BA8BC;AA1BC;IAHC,IAAA,kCAAgB,GAAE;IAClB,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wCACW;AAIxB;IAFC,IAAA,iCAAe,GAAE;IACjB,IAAA,4BAAU,GAAE;;wCACK;AAIlB;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;;wCACM;AAKnB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,kCAAgB,GAAE;;wCACkC;AAIrD;IAFC,IAAA,gCAAc,GAAE;IAChB,IAAA,4BAAU,GAAE;;qCACC;AAId;IAFC,IAAA,gCAAc,GAAE;IAChB,IAAA,4BAAU,GAAE;;wCACI;AAIjB;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;;uCACK"}
@@ -1,8 +1,8 @@
1
- import { DomainFindOneOptions, GenericObject } from '@node-c/core';
1
+ import { DomainFindOneOptions, GenericObject, PersistanceOrderByDirection } from '@node-c/core';
2
2
  import { BaseDto } from './base.dto';
3
3
  export declare class FindOneDto<Options extends DomainFindOneOptions> extends BaseDto<Options> implements DomainFindOneOptions {
4
4
  filters: GenericObject<unknown>;
5
5
  include?: string[];
6
- orderBy?: GenericObject<string>;
6
+ orderBy?: GenericObject<PersistanceOrderByDirection>;
7
7
  select?: string[];
8
8
  }
@@ -16,22 +16,24 @@ class FindOneDto extends base_dto_1.BaseDto {
16
16
  }
17
17
  exports.FindOneDto = FindOneDto;
18
18
  __decorate([
19
+ (0, class_validator_1.IsNotEmptyObject)(),
19
20
  (0, class_validator_1.IsObject)(),
20
21
  __metadata("design:type", Object)
21
22
  ], FindOneDto.prototype, "filters", void 0);
22
23
  __decorate([
23
- (0, class_validator_1.IsOptional)(),
24
24
  (0, class_validator_1.IsArray)(),
25
+ (0, class_validator_1.IsOptional)(),
25
26
  __metadata("design:type", Array)
26
27
  ], FindOneDto.prototype, "include", void 0);
27
28
  __decorate([
28
- (0, class_validator_1.IsOptional)(),
29
+ (0, class_validator_1.IsNotEmptyObject)(),
29
30
  (0, class_validator_1.IsObject)(),
31
+ (0, class_validator_1.IsOptional)(),
30
32
  __metadata("design:type", Object)
31
33
  ], FindOneDto.prototype, "orderBy", void 0);
32
34
  __decorate([
33
- (0, class_validator_1.IsOptional)(),
34
35
  (0, class_validator_1.IsArray)(),
36
+ (0, class_validator_1.IsOptional)(),
35
37
  __metadata("design:type", Array)
36
38
  ], FindOneDto.prototype, "select", void 0);
37
39
  //# sourceMappingURL=findOne.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findOne.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/findOne.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAgE;AAEhE,yCAAqC;AAErC,MAAa,UAAiD,SAAQ,kBAAgB;CAerF;AAfD,gCAeC;AAbC;IADC,IAAA,0BAAQ,GAAE;;2CACqB;AAIhC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;;2CACS;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;2CACqB;AAIhC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;;0CACQ"}
1
+ {"version":3,"file":"findOne.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/findOne.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAkF;AAElF,yCAAqC;AAErC,MAAa,UAAiD,SAAQ,kBAAgB;CAiBrF;AAjBD,gCAiBC;AAdC;IAFC,IAAA,kCAAgB,GAAE;IAClB,IAAA,0BAAQ,GAAE;;2CACqB;AAIhC;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;;2CACM;AAKnB;IAHC,IAAA,kCAAgB,GAAE;IAClB,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2CACwC;AAIrD;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;;0CACK"}
@@ -2,6 +2,7 @@ import { GenericObject } from '@node-c/core';
2
2
  import { BaseDto } from './base.dto';
3
3
  import { UpdateBody, UpdateOptions } from '../rest.entity.controller.definitions';
4
4
  export declare class UpdateDto<Entity, Options extends UpdateOptions<Entity>> extends BaseDto<Options> implements UpdateBody<Entity> {
5
- data: Entity;
5
+ data: Partial<Entity>;
6
6
  filters: GenericObject<unknown>;
7
+ returnData?: boolean;
7
8
  }
@@ -17,14 +17,19 @@ class UpdateDto extends base_dto_1.BaseDto {
17
17
  exports.UpdateDto = UpdateDto;
18
18
  __decorate([
19
19
  (0, class_validator_1.IsDefined)(),
20
- (0, class_validator_1.IsObject)(),
21
20
  (0, class_validator_1.IsNotEmptyObject)(),
21
+ (0, class_validator_1.IsObject)(),
22
22
  __metadata("design:type", Object)
23
23
  ], UpdateDto.prototype, "data", void 0);
24
24
  __decorate([
25
25
  (0, class_validator_1.IsDefined)(),
26
- (0, class_validator_1.IsObject)(),
27
26
  (0, class_validator_1.IsNotEmptyObject)(),
27
+ (0, class_validator_1.IsObject)(),
28
28
  __metadata("design:type", Object)
29
29
  ], UpdateDto.prototype, "filters", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsBoolean)(),
33
+ __metadata("design:type", Boolean)
34
+ ], UpdateDto.prototype, "returnData", void 0);
30
35
  //# sourceMappingURL=update.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/update.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAwE;AAExE,yCAAqC;AAIrC,MAAa,SACX,SAAQ,kBAAgB;CAYzB;AAbD,8BAaC;AANC;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,0BAAQ,GAAE;IACV,IAAA,kCAAgB,GAAE;;uCACN;AAKb;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,0BAAQ,GAAE;IACV,IAAA,kCAAgB,GAAE;;0CACa"}
1
+ {"version":3,"file":"update.dto.js","sourceRoot":"","sources":["../../../src/entityController/dto/update.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAA+F;AAE/F,yCAAqC;AAIrC,MAAa,SACX,SAAQ,kBAAgB;CAgBzB;AAjBD,8BAiBC;AAVC;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,kCAAgB,GAAE;IAClB,IAAA,0BAAQ,GAAE;;uCACW;AAKtB;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,kCAAgB,GAAE;IAClB,IAAA,0BAAQ,GAAE;;0CACqB;AAIhC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;6CACS"}
@@ -21,7 +21,7 @@ export declare class RESTAPIEntityControlerWithoutDto<Entity, EntityDomainServic
21
21
  protected checkRoute(handlerName: string): void;
22
22
  bulkCreate(_body: BulkCreateBody<Entity>, ..._args: unknown[]): Promise<DomainBulkCreateResult<Entity> | void>;
23
23
  create(_body: CreateBody<Entity>, ..._args: unknown[]): Promise<DomainCreateResult<Entity> | void>;
24
- delete(_body: DomainDeleteOptions, ..._args: unknown[]): Promise<DomainDeleteResult | void>;
24
+ delete(_body: DomainDeleteOptions, ..._args: unknown[]): Promise<DomainDeleteResult<Entity> | void>;
25
25
  find(_query: DomainFindOptions, ..._args: unknown[]): Promise<DomainFindResult<Entity> | void>;
26
26
  findOne(_id: number | string, _query: DomainFindOneOptions, ..._args: unknown[]): Promise<DomainFindOneResult<Entity> | void>;
27
27
  refreshDefaultRoutes(newDefaultRoutes?: string[]): void;
@@ -38,6 +38,9 @@ export declare class RESTAPIEntityControler<Entity, EntityDomainService extends
38
38
  update?: Dto['Update'];
39
39
  };
40
40
  protected defaultRouteMethods: string[];
41
+ protected settings: {
42
+ validationWhitelist?: boolean;
43
+ };
41
44
  protected validationPipe: ValidationPipe;
42
45
  constructor(domainEntityService: EntityDomainService, dto: {
43
46
  bulkCreate?: Dto['BulkCreate'];
@@ -49,13 +52,16 @@ export declare class RESTAPIEntityControler<Entity, EntityDomainService extends
49
52
  }, defaultRouteMethods?: string[]);
50
53
  bulkCreate(body: Dto['BulkCreate'], ...args: unknown[]): Promise<DomainBulkCreateResult<Entity> | void>;
51
54
  create(body: Dto['Create'], ...args: unknown[]): Promise<DomainCreateResult<Entity> | void>;
52
- delete(body: Dto['Delete'], ...args: unknown[]): Promise<DomainDeleteResult | void>;
55
+ delete(body: Dto['Delete'], ...args: unknown[]): Promise<DomainDeleteResult<Entity> | void>;
53
56
  find(query: Dto['Find'], ...args: unknown[]): Promise<DomainFindResult<Entity> | void>;
54
57
  findOne(id: number | string, query: Dto['FindOne'], ...args: unknown[]): Promise<DomainFindOneResult<Entity> | void>;
55
58
  static getDefaultDtos<EntityForDtos>(): {
56
59
  bulkCreate: DefaultDtos<EntityForDtos>['BulkCreate'];
60
+ create: DefaultDtos<EntityForDtos>['Create'];
61
+ delete: DefaultDtos<EntityForDtos>['Delete'];
57
62
  find: DefaultDtos<EntityForDtos>['Find'];
58
63
  findOne: DefaultDtos<EntityForDtos>['FindOne'];
64
+ update: DefaultDtos<EntityForDtos>['Update'];
59
65
  };
60
66
  update(body: Dto['Update'], ...args: unknown[]): Promise<DomainUpdateResult<Entity> | void>;
61
67
  }
@@ -95,7 +95,8 @@ let RESTAPIEntityControlerWithoutDto = class RESTAPIEntityControlerWithoutDto {
95
95
  update(body) {
96
96
  return __awaiter(this, void 0, void 0, function* () {
97
97
  this.checkRoute('update');
98
- return yield this.domainEntityService.update(body.data, { filters: body.filters });
98
+ const { data } = body, options = __rest(body, ["data"]);
99
+ return yield this.domainEntityService.update(data, options);
99
100
  });
100
101
  }
101
102
  };
@@ -152,7 +153,9 @@ class RESTAPIEntityControler extends RESTAPIEntityControlerWithoutDto {
152
153
  super(domainEntityService, Object.keys(dto || {}).concat(defaultRouteMethods || []));
153
154
  this.domainEntityService = domainEntityService;
154
155
  this.dto = dto;
155
- this.validationPipe = new common_1.ValidationPipe({ whitelist: true });
156
+ this.settings = { validationWhitelist: true };
157
+ const { validationWhitelist } = this.settings;
158
+ this.validationPipe = new common_1.ValidationPipe({ whitelist: validationWhitelist });
156
159
  }
157
160
  bulkCreate(body, ...args) {
158
161
  const _super = Object.create(null, {
@@ -228,8 +231,11 @@ class RESTAPIEntityControler extends RESTAPIEntityControlerWithoutDto {
228
231
  static getDefaultDtos() {
229
232
  return {
230
233
  bulkCreate: dto_1.BulkCreateDto,
234
+ create: dto_1.CreateDto,
235
+ delete: dto_1.DeleteDto,
231
236
  find: dto_1.FindDto,
232
- findOne: dto_1.FindDto
237
+ findOne: dto_1.FindOneDto,
238
+ update: dto_1.UpdateDto
233
239
  };
234
240
  }
235
241
  update(body, ...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"rest.entity.controller.js","sourceRoot":"","sources":["../../src/entityController/rest.entity.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest.entity.controller.js","sourceRoot":"","sources":["../../src/entityController/rest.entity.controller.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@node-c/api-rest",
3
- "version": "1.0.0-alpha4",
3
+ "version": "1.0.0-alpha40",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
7
7
  "build": "tsc -p tsconfig.build.json",
8
+ "build:clean": "rm -rf dist/* && rm -f *.tsbuildinfo && npm run build",
8
9
  "check-types": "tsc -p tsconfig.build.json --noEmit",
9
10
  "dev": "tsc -p tsconfig.build.json --watch",
10
- "publish-package": "rm -rf dist/* && rm -f *.tsbuildinfo && npm run build && npm publish --access public",
11
+ "publish-package": "npm run build:clean && npm publish --access public",
11
12
  "test": "vitest --config src/vitest.config.ts",
12
13
  "test:coverage": "vitest --config src/vitest.config.ts --coverage"
13
14
  },
@@ -17,7 +18,7 @@
17
18
  "class-validator": "^0.14.1"
18
19
  },
19
20
  "peerDependencies": {
20
- "@node-c/api-http": "^1.0.0-alpha4",
21
- "@node-c/core": "^1.0.0-alpha4"
21
+ "@node-c/api-http": "^1.0.0-alpha40",
22
+ "@node-c/core": "^1.0.0-alpha40"
22
23
  }
23
24
  }
@@ -1,16 +0,0 @@
1
- import { DomainPersistanceServicesKey, GenericObject } from '@node-c/core';
2
-
3
- import { IsObject, IsOptional } from 'class-validator';
4
-
5
- /*
6
- * We need the Options type here, so we can easily extend overriden classes' BaseDto
7
- */
8
- export class BaseDto<Options> {
9
- @IsOptional()
10
- @IsObject()
11
- optionsOverridesByService?: GenericObject<Partial<Options>>;
12
-
13
- @IsOptional()
14
- @IsObject()
15
- persistanceServices?: DomainPersistanceServicesKey[];
16
- }
@@ -1,15 +0,0 @@
1
- import { IsDefined, IsNotEmptyObject, IsObject } from 'class-validator';
2
-
3
- import { BaseDto } from './base.dto';
4
-
5
- import { BulkCreateBody, BulkCreateOptions } from '../rest.entity.controller.definitions';
6
-
7
- export class BulkCreateDto<Entity, Options extends BulkCreateOptions<Entity>>
8
- extends BaseDto<Options>
9
- implements BulkCreateBody<Entity>
10
- {
11
- @IsDefined()
12
- @IsObject()
13
- @IsNotEmptyObject()
14
- data: Entity[];
15
- }
@@ -1,15 +0,0 @@
1
- import { IsDefined, IsNotEmptyObject, IsObject } from 'class-validator';
2
-
3
- import { BaseDto } from './base.dto';
4
-
5
- import { CreateBody, CreateOptions } from '../rest.entity.controller.definitions';
6
-
7
- export class CreateDto<Entity, Options extends CreateOptions<Entity>>
8
- extends BaseDto<Options>
9
- implements CreateBody<Entity>
10
- {
11
- @IsDefined()
12
- @IsObject()
13
- @IsNotEmptyObject()
14
- data: Entity;
15
- }
@@ -1,11 +0,0 @@
1
- import { DomainDeleteOptions, GenericObject } from '@node-c/core';
2
-
3
- import { IsDefined, IsObject } from 'class-validator';
4
-
5
- import { BaseDto } from './base.dto';
6
-
7
- export class DeleteDto<Options extends DomainDeleteOptions> extends BaseDto<Options> implements DomainDeleteOptions {
8
- @IsDefined()
9
- @IsObject()
10
- filters: GenericObject<unknown>;
11
- }
@@ -1,35 +0,0 @@
1
- import { DomainFindOptions, GenericObject } from '@node-c/core';
2
-
3
- import { IsArray, IsBooleanString, IsNumberString, IsObject, IsOptional } from 'class-validator';
4
-
5
- import { BaseDto } from './base.dto';
6
-
7
- export class FindDto<Options extends DomainFindOptions> extends BaseDto<Options> implements DomainFindOptions {
8
- @IsObject()
9
- @IsOptional()
10
- filters?: GenericObject;
11
-
12
- @IsOptional()
13
- @IsBooleanString()
14
- findAll?: boolean;
15
-
16
- @IsOptional()
17
- @IsArray()
18
- include?: string[];
19
-
20
- @IsOptional()
21
- @IsObject()
22
- orderBy?: GenericObject<string>;
23
-
24
- @IsOptional()
25
- @IsNumberString()
26
- page?: number;
27
-
28
- @IsOptional()
29
- @IsNumberString()
30
- perPage?: number;
31
-
32
- @IsOptional()
33
- @IsArray()
34
- select?: string[];
35
- }
@@ -1,22 +0,0 @@
1
- import { DomainFindOneOptions, GenericObject } from '@node-c/core';
2
-
3
- import { IsArray, IsObject, IsOptional } from 'class-validator';
4
-
5
- import { BaseDto } from './base.dto';
6
-
7
- export class FindOneDto<Options extends DomainFindOneOptions> extends BaseDto<Options> implements DomainFindOneOptions {
8
- @IsObject()
9
- filters: GenericObject<unknown>;
10
-
11
- @IsOptional()
12
- @IsArray()
13
- include?: string[];
14
-
15
- @IsOptional()
16
- @IsObject()
17
- orderBy?: GenericObject<string>;
18
-
19
- @IsOptional()
20
- @IsArray()
21
- select?: string[];
22
- }
@@ -1,9 +0,0 @@
1
- export * from './base.dto';
2
- export * from './bulkCreate.dto';
3
- export * from './create.dto';
4
- export * from './delete.dto';
5
- export * from './find.dto';
6
- export * from './findOne.dto';
7
- export * from './numberItem.dto';
8
- export * from './update.dto';
9
- export * from './uploadFile.dto';
@@ -1,12 +0,0 @@
1
- import { PersistanceNumberItem } from '@node-c/core';
2
- import { IsBoolean, IsDefined, IsNumber, IsOptional } from 'class-validator';
3
-
4
- export class NumberItemDto implements PersistanceNumberItem {
5
- @IsOptional()
6
- @IsBoolean()
7
- deleted?: boolean;
8
-
9
- @IsDefined()
10
- @IsNumber()
11
- value: number;
12
- }
@@ -1,22 +0,0 @@
1
- import { GenericObject } from '@node-c/core';
2
-
3
- import { IsDefined, IsNotEmptyObject, IsObject } from 'class-validator';
4
-
5
- import { BaseDto } from './base.dto';
6
-
7
- import { UpdateBody, UpdateOptions } from '../rest.entity.controller.definitions';
8
-
9
- export class UpdateDto<Entity, Options extends UpdateOptions<Entity>>
10
- extends BaseDto<Options>
11
- implements UpdateBody<Entity>
12
- {
13
- @IsDefined()
14
- @IsObject()
15
- @IsNotEmptyObject()
16
- data: Entity;
17
-
18
- @IsDefined()
19
- @IsObject()
20
- @IsNotEmptyObject()
21
- filters: GenericObject<unknown>;
22
- }
@@ -1,12 +0,0 @@
1
- import { IsMimeType, IsNotEmpty, IsString } from 'class-validator';
2
-
3
- export class UploadFileDto {
4
- @IsMimeType()
5
- @IsNotEmpty()
6
- @IsString()
7
- contentType: string;
8
-
9
- @IsNotEmpty()
10
- @IsString()
11
- name: string;
12
- }
@@ -1,3 +0,0 @@
1
- export * from './dto';
2
- export * from './rest.entity.controller';
3
- export * from './rest.entity.controller.definitions';
@@ -1,28 +0,0 @@
1
- import {
2
- DomainBulkCreateData,
3
- DomainBulkCreateOptions,
4
- DomainCreateData,
5
- DomainCreateOptions,
6
- DomainUpdateData,
7
- DomainUpdateOptions,
8
- GenericObject
9
- } from '@node-c/core';
10
-
11
- export interface BulkCreateBody<Entity> extends DomainBulkCreateOptions {
12
- data: DomainBulkCreateData<Entity>;
13
- }
14
-
15
- export type BulkCreateOptions<Entity> = Omit<BulkCreateBody<Entity>, 'data'>;
16
-
17
- export interface CreateBody<Entity> extends DomainCreateOptions {
18
- data: DomainCreateData<Entity>;
19
- }
20
-
21
- export type CreateOptions<Entity> = Omit<CreateBody<Entity>, 'data'>;
22
-
23
- export interface UpdateBody<Entity> extends DomainUpdateOptions {
24
- data: DomainUpdateData<Entity>;
25
- filters: GenericObject<unknown>;
26
- }
27
-
28
- export type UpdateOptions<Entity> = Omit<UpdateBody<Entity>, 'data'>;
@@ -1,277 +0,0 @@
1
- import {
2
- Body,
3
- Delete,
4
- Get,
5
- HttpException,
6
- HttpStatus,
7
- Param,
8
- Patch,
9
- Post,
10
- Query,
11
- Type,
12
- UseInterceptors,
13
- ValidationPipe
14
- } from '@nestjs/common';
15
-
16
- import { HTTPAuthorizationInterceptor, HTTPErrorInterceptor } from '@node-c/api-http';
17
-
18
- import {
19
- DomainBulkCreateResult,
20
- DomainCreateResult,
21
- DomainDeleteOptions,
22
- DomainDeleteResult,
23
- DomainEntityService,
24
- DomainEntityServiceDefaultData,
25
- DomainFindOneOptions,
26
- DomainFindOneResult,
27
- DomainFindOptions,
28
- DomainFindResult,
29
- DomainUpdateResult,
30
- PersistanceEntityService
31
- } from '@node-c/core';
32
-
33
- import {
34
- BulkCreateDto as BaseBulkCreateDto,
35
- CreateDto as BaseCreateDto,
36
- DeleteDto as BaseDeleteDto,
37
- FindDto as BaseFindDto,
38
- FindOneDto as BaseFindOneDto,
39
- UpdateDto as BaseUpdateDto
40
- } from './dto';
41
- import {
42
- BulkCreateBody,
43
- BulkCreateOptions,
44
- CreateBody,
45
- CreateOptions,
46
- UpdateBody,
47
- UpdateOptions
48
- } from './rest.entity.controller.definitions';
49
-
50
- // These types and interfaces have to be here to avoid circular dependencies.
51
- export type DefaultDomainEntityService<Entity> = DomainEntityService<
52
- Entity,
53
- PersistanceEntityService<Entity>,
54
- DomainEntityServiceDefaultData<Entity>,
55
- Record<string, PersistanceEntityService<Partial<Entity>>>
56
- >;
57
-
58
- export interface DefaultDtos<Entity> {
59
- BulkCreate: BaseBulkCreateDto<Entity, BulkCreateOptions<Entity>>;
60
- Create: BaseCreateDto<Entity, CreateOptions<Entity>>;
61
- Delete: BaseDeleteDto<DomainDeleteOptions>;
62
- Find: BaseFindDto<DomainFindOptions>;
63
- FindOne: BaseFindOneDto<DomainFindOneOptions>;
64
- Update: BaseUpdateDto<Entity, UpdateOptions<Entity>>;
65
- }
66
-
67
- @UseInterceptors(HTTPAuthorizationInterceptor, HTTPErrorInterceptor)
68
- export class RESTAPIEntityControlerWithoutDto<Entity, EntityDomainService extends DefaultDomainEntityService<Entity>> {
69
- inUseDefaultRoutes: { [handlerName: string]: boolean };
70
-
71
- constructor(
72
- // eslint-disable-next-line no-unused-vars
73
- protected domainEntityService: EntityDomainService,
74
- // eslint-disable-next-line no-unused-vars
75
- protected defaultRouteMethods?: string[]
76
- ) {
77
- this.refreshDefaultRoutes();
78
- }
79
-
80
- protected checkRoute(handlerName: string): void {
81
- if (!this.inUseDefaultRoutes || !this.inUseDefaultRoutes[handlerName]) {
82
- throw new HttpException('Not found', HttpStatus.NOT_FOUND);
83
- }
84
- }
85
-
86
- public bulkCreate(_body: BulkCreateBody<Entity>, ..._args: unknown[]): Promise<DomainBulkCreateResult<Entity> | void>;
87
- @Post('bulk')
88
- async bulkCreate(@Body() body: BulkCreateBody<Entity>): Promise<DomainBulkCreateResult<Entity>> {
89
- this.checkRoute('bulkCreate');
90
- const { data, ...options } = body;
91
- return await this.domainEntityService.bulkCreate(data, options);
92
- }
93
-
94
- public create(_body: CreateBody<Entity>, ..._args: unknown[]): Promise<DomainCreateResult<Entity> | void>;
95
- @Post()
96
- async create(@Body() body: CreateBody<Entity>): Promise<DomainCreateResult<Entity>> {
97
- this.checkRoute('create');
98
- const { data, ...options } = body;
99
- return await this.domainEntityService.create(data, options);
100
- }
101
-
102
- public delete(_body: DomainDeleteOptions, ..._args: unknown[]): Promise<DomainDeleteResult | void>;
103
- @Delete()
104
- async delete(@Body() body: DomainDeleteOptions): Promise<DomainDeleteResult> {
105
- this.checkRoute('delete');
106
- return await this.domainEntityService.delete(body);
107
- }
108
-
109
- public find(_query: DomainFindOptions, ..._args: unknown[]): Promise<DomainFindResult<Entity> | void>;
110
- @Get()
111
- async find(@Query() query: DomainFindOptions): Promise<DomainFindResult<Entity> | void> {
112
- this.checkRoute('find');
113
- return await this.domainEntityService.find(query);
114
- }
115
-
116
- public findOne(
117
- _id: number | string,
118
- _query: DomainFindOneOptions,
119
- ..._args: unknown[]
120
- ): Promise<DomainFindOneResult<Entity> | void>;
121
- @Get('/item/:id')
122
- async findOne(
123
- @Param() id: number | string,
124
- @Query() query: DomainFindOneOptions
125
- ): Promise<DomainFindOneResult<Entity> | void> {
126
- this.checkRoute('findOne');
127
- let filters = query.filters;
128
- if (!filters) {
129
- filters = {};
130
- query.filters = filters;
131
- }
132
- filters.id = id;
133
- return await this.domainEntityService.findOne(query);
134
- }
135
-
136
- refreshDefaultRoutes(newDefaultRoutes?: string[]): void {
137
- const defaultRouteMethods = newDefaultRoutes || this.defaultRouteMethods;
138
- this.inUseDefaultRoutes = {};
139
- if (defaultRouteMethods instanceof Array) {
140
- defaultRouteMethods.forEach(item => (this.inUseDefaultRoutes[item] = true));
141
- }
142
- }
143
-
144
- public update(_body: UpdateBody<Entity>, ..._args: unknown[]): Promise<DomainUpdateResult<Entity> | void>;
145
- @Patch()
146
- async update(@Body() body: UpdateBody<Entity>): Promise<DomainUpdateResult<Entity>> {
147
- this.checkRoute('update');
148
- return await this.domainEntityService.update(body.data, { filters: body.filters });
149
- }
150
- }
151
-
152
- /*
153
- * For reference on why the dto validation was done in this way - it's a limitation of Typescript itself:
154
- * the compiler doesn't emit generic type metadata, making it impossible to achieve a DRY OOP base class with schema validation.
155
- * At this point, it's a decade-old issue - see https://www.typescriptneedstypes.com/ for more details.
156
- */
157
- export class RESTAPIEntityControler<
158
- Entity,
159
- EntityDomainService extends DefaultDomainEntityService<Entity>,
160
- Dto extends DefaultDtos<Entity> = DefaultDtos<Entity>
161
- > extends RESTAPIEntityControlerWithoutDto<Entity, EntityDomainService> {
162
- protected defaultRouteMethods: string[];
163
- protected validationPipe: ValidationPipe;
164
-
165
- constructor(
166
- protected domainEntityService: EntityDomainService,
167
- protected dto: {
168
- bulkCreate?: Dto['BulkCreate'];
169
- create?: Dto['Create'];
170
- delete?: Dto['Delete'];
171
- find?: Dto['Find'];
172
- findOne?: Dto['FindOne'];
173
- update?: Dto['Update'];
174
- },
175
- defaultRouteMethods?: string[]
176
- ) {
177
- super(domainEntityService, Object.keys(dto || {}).concat(defaultRouteMethods || []));
178
- // const finalDto: typeof dto = {};
179
- // finalDto.bulkCreate = dto?.bulkCreate || BaseBulkCreateDto<Entity, BulkCreateOptions<Entity>>;
180
- this.validationPipe = new ValidationPipe({ whitelist: true });
181
- }
182
-
183
- @Post('bulk')
184
- async bulkCreate(
185
- @Body() body: Dto['BulkCreate'],
186
- ...args: unknown[]
187
- ): Promise<DomainBulkCreateResult<Entity> | void> {
188
- return await super.bulkCreate.apply(this, [
189
- await this.validationPipe.transform(body, {
190
- metatype: this.dto.bulkCreate as unknown as Type,
191
- type: 'body'
192
- }),
193
- ...(args || [])
194
- ]);
195
- }
196
-
197
- @Post()
198
- async create(
199
- @Body()
200
- body: Dto['Create'],
201
- ...args: unknown[]
202
- ): Promise<DomainCreateResult<Entity> | void> {
203
- return await super.create.apply(this, [
204
- await this.validationPipe.transform(body, {
205
- metatype: this.dto.create as unknown as Type,
206
- type: 'body'
207
- }),
208
- ...(args || [])
209
- ]);
210
- }
211
-
212
- @Delete()
213
- async delete(@Body() body: Dto['Delete'], ...args: unknown[]): Promise<DomainDeleteResult | void> {
214
- return await super.delete.apply(this, [
215
- await this.validationPipe.transform(body, {
216
- metatype: this.dto.delete as unknown as Type,
217
- type: 'body'
218
- }),
219
- ...(args || [])
220
- ]);
221
- }
222
-
223
- @Get()
224
- async find(@Query() query: Dto['Find'], ...args: unknown[]): Promise<DomainFindResult<Entity> | void> {
225
- return await super.find.apply(this, [
226
- await this.validationPipe.transform(query, {
227
- metatype: this.dto.find as unknown as Type,
228
- type: 'query'
229
- }),
230
- ...(args || [])
231
- ]);
232
- }
233
-
234
- @Get('/item/:id')
235
- async findOne(
236
- @Param() id: number | string,
237
- @Query() query: Dto['FindOne'],
238
- ...args: unknown[]
239
- ): Promise<DomainFindOneResult<Entity> | void> {
240
- return await super.findOne.apply(this, [
241
- id,
242
- await this.validationPipe.transform(query, {
243
- metatype: this.dto.findOne as unknown as Type,
244
- type: 'query'
245
- }),
246
- ...(args || [])
247
- ]);
248
- }
249
-
250
- static getDefaultDtos<EntityForDtos>(): {
251
- bulkCreate: DefaultDtos<EntityForDtos>['BulkCreate'];
252
- find: DefaultDtos<EntityForDtos>['Find'];
253
- findOne: DefaultDtos<EntityForDtos>['FindOne'];
254
- } {
255
- return {
256
- bulkCreate: BaseBulkCreateDto as unknown as DefaultDtos<EntityForDtos>['BulkCreate'],
257
- find: BaseFindDto as unknown as DefaultDtos<EntityForDtos>['Find'],
258
- findOne: BaseFindDto as unknown as DefaultDtos<EntityForDtos>['FindOne']
259
- // create: BaseCreateDto,
260
- // delete: BaseDeleteDto,
261
- // find: BaseFindDto,
262
- // findOne: BaseFindOneDto,
263
- // update: BaseUpdateDto
264
- };
265
- }
266
-
267
- @Patch()
268
- async update(@Body() body: Dto['Update'], ...args: unknown[]): Promise<DomainUpdateResult<Entity> | void> {
269
- return await super.update.apply(this, [
270
- await this.validationPipe.transform(body, {
271
- metatype: this.dto.update as unknown as Type,
272
- type: 'body'
273
- }),
274
- ...(args || [])
275
- ]);
276
- }
277
- }
package/src/index.ts DELETED
@@ -1 +0,0 @@
1
- export * from './entityController';