@hodfords/nestjs-grpc-helper 11.4.0-rc.6 → 11.4.0-rc.8

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 (40) hide show
  1. package/constants/metadata-key.const.d.ts +1 -0
  2. package/constants/metadata-key.const.js +2 -1
  3. package/constants/metadata-key.const.js.map +1 -1
  4. package/decorators/grpc-nullable-response.decorator.d.ts +6 -0
  5. package/decorators/grpc-nullable-response.decorator.js +17 -0
  6. package/decorators/grpc-nullable-response.decorator.js.map +1 -0
  7. package/decorators/grpc-param.decorator.d.ts +2 -0
  8. package/decorators/grpc-param.decorator.js +21 -0
  9. package/decorators/grpc-param.decorator.js.map +1 -1
  10. package/dto/pagination.dto.d.ts +4 -0
  11. package/dto/pagination.dto.js +30 -0
  12. package/dto/pagination.dto.js.map +1 -0
  13. package/dto/sort.dto.d.ts +4 -0
  14. package/dto/sort.dto.js +32 -0
  15. package/dto/sort.dto.js.map +1 -0
  16. package/helpers/flat-param.helper.js +21 -3
  17. package/helpers/flat-param.helper.js.map +1 -1
  18. package/index.d.ts +1 -0
  19. package/index.js +1 -0
  20. package/index.js.map +1 -1
  21. package/package.json +1 -1
  22. package/sdk-stub/helpers/grpc.helper.js +3 -0
  23. package/sdk-stub/helpers/grpc.helper.js.map +1 -1
  24. package/sdk-stub/helpers/grpc.helper.ts +4 -0
  25. package/services/generate-proto.service.d.ts +2 -0
  26. package/services/generate-proto.service.js +26 -10
  27. package/services/generate-proto.service.js.map +1 -1
  28. package/templates/body-method-template.hbs +0 -28
  29. package/templates/grpc-service-template.hbs +0 -5
  30. package/templates/index-template.hbs +0 -5
  31. package/templates/method-template.hbs +0 -19
  32. package/templates/mock-method-template.hbs +0 -19
  33. package/templates/mock-module-template.hbs +0 -12
  34. package/templates/mock-providers-template.hbs +0 -6
  35. package/templates/module-template.hbs +0 -44
  36. package/templates/proto-native-list.hbs +0 -4
  37. package/templates/proto-service-definition.hbs +0 -6
  38. package/templates/service-interface.hbs +0 -7
  39. package/templates/service-template.hbs +0 -49
  40. package/templates/usage-doc-template.hbs +0 -17
@@ -3,3 +3,4 @@ export declare const FLATTEN_PARAMETERS_METADATA_KEY = "grpc:flatten-parameters"
3
3
  export declare const GRPC_PARAM_INDEX_METADATA_KEY = "grpc:parameter-index";
4
4
  export declare const GRPC_DESCRIPTION_METADATA_KEY = "grpc:description";
5
5
  export declare const GRPC_METHOD_METADATA_KEY = "grpc:method";
6
+ export declare const GRPC_NULLABLE_RESPONSE_METADATA_KEY = "grpc:nullable-response";
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GRPC_METHOD_METADATA_KEY = exports.GRPC_DESCRIPTION_METADATA_KEY = exports.GRPC_PARAM_INDEX_METADATA_KEY = exports.FLATTEN_PARAMETERS_METADATA_KEY = exports.DIRECT_PARAMETERS_METADATA_KEY = void 0;
3
+ exports.GRPC_NULLABLE_RESPONSE_METADATA_KEY = exports.GRPC_METHOD_METADATA_KEY = exports.GRPC_DESCRIPTION_METADATA_KEY = exports.GRPC_PARAM_INDEX_METADATA_KEY = exports.FLATTEN_PARAMETERS_METADATA_KEY = exports.DIRECT_PARAMETERS_METADATA_KEY = void 0;
4
4
  exports.DIRECT_PARAMETERS_METADATA_KEY = 'grpc:direct-parameters';
5
5
  exports.FLATTEN_PARAMETERS_METADATA_KEY = 'grpc:flatten-parameters';
6
6
  exports.GRPC_PARAM_INDEX_METADATA_KEY = 'grpc:parameter-index';
7
7
  exports.GRPC_DESCRIPTION_METADATA_KEY = 'grpc:description';
8
8
  exports.GRPC_METHOD_METADATA_KEY = 'grpc:method';
9
+ exports.GRPC_NULLABLE_RESPONSE_METADATA_KEY = 'grpc:nullable-response';
9
10
  //# sourceMappingURL=metadata-key.const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-key.const.js","sourceRoot":"","sources":["../../../lib/constants/metadata-key.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG,wBAAwB,CAAC;AAC1D,QAAA,+BAA+B,GAAG,yBAAyB,CAAC;AAC5D,QAAA,6BAA6B,GAAG,sBAAsB,CAAC;AACvD,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AACnD,QAAA,wBAAwB,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"metadata-key.const.js","sourceRoot":"","sources":["../../../lib/constants/metadata-key.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG,wBAAwB,CAAC;AAC1D,QAAA,+BAA+B,GAAG,yBAAyB,CAAC;AAC5D,QAAA,6BAA6B,GAAG,sBAAsB,CAAC;AACvD,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AACnD,QAAA,wBAAwB,GAAG,aAAa,CAAC;AACzC,QAAA,mCAAmC,GAAG,wBAAwB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ClassConstructor } from 'class-transformer';
2
+ export declare function GrpcNullableResponse(responseClass: ClassConstructor<object>, options?: {
3
+ isArray?: boolean;
4
+ isAllowEmpty?: boolean;
5
+ isGrpcNullable?: boolean;
6
+ }): MethodDecorator;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GrpcNullableResponse = GrpcNullableResponse;
4
+ const metadata_key_const_1 = require("../constants/metadata-key.const");
5
+ const nestjs_response_1 = require("@hodfords/nestjs-response");
6
+ const common_1 = require("@nestjs/common");
7
+ function GrpcNullableResponse(responseClass, options) {
8
+ const responseModelOptions = {
9
+ isAllowEmpty: true,
10
+ isGrpcNullable: true,
11
+ ...options
12
+ };
13
+ return (0, common_1.applyDecorators)((0, nestjs_response_1.ResponseModel)(responseClass, responseModelOptions), (target, propertyKey) => {
14
+ Reflect.defineMetadata(metadata_key_const_1.GRPC_NULLABLE_RESPONSE_METADATA_KEY, responseClass, target, propertyKey);
15
+ });
16
+ }
17
+ //# sourceMappingURL=grpc-nullable-response.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-nullable-response.decorator.js","sourceRoot":"","sources":["../../../lib/decorators/grpc-nullable-response.decorator.ts"],"names":[],"mappings":";;AAMA,oDAoBC;AAzBD,wEAAsF;AAEtF,+DAA0D;AAC1D,2CAAiD;AAEjD,SAAgB,oBAAoB,CAChC,aAAuC,EACvC,OAIC;IAED,MAAM,oBAAoB,GAAG;QACzB,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,GAAG,OAAO;KACb,CAAC;IAEF,OAAO,IAAA,wBAAe,EAClB,IAAA,+BAAa,EAAC,aAAa,EAAE,oBAAoB,CAAC,EAClD,CAAC,MAAgB,EAAE,WAA4B,EAAE,EAAE;QAC/C,OAAO,CAAC,cAAc,CAAC,wDAAmC,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACpG,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -10,4 +10,6 @@ type EnumParamOptionType = {
10
10
  } & ParameterOptionType;
11
11
  export declare function GrpcEnum(option: EnumParamOptionType): ParameterDecorator;
12
12
  export declare function GrpcEnums(option: EnumParamOptionType): ParameterDecorator;
13
+ export declare function GrpcPagination(): ParameterDecorator;
14
+ export declare function GrpcSort(): ParameterDecorator;
13
15
  export {};
@@ -6,8 +6,13 @@ exports.GrpcId = GrpcId;
6
6
  exports.GrpcIds = GrpcIds;
7
7
  exports.GrpcEnum = GrpcEnum;
8
8
  exports.GrpcEnums = GrpcEnums;
9
+ exports.GrpcPagination = GrpcPagination;
10
+ exports.GrpcSort = GrpcSort;
9
11
  const class_validator_1 = require("class-validator");
10
12
  const metadata_key_const_1 = require("../constants/metadata-key.const");
13
+ const pagination_dto_1 = require("../dto/pagination.dto");
14
+ const sort_dto_1 = require("../dto/sort.dto");
15
+ const class_transformer_1 = require("class-transformer");
11
16
  function SdkFlattenParams() {
12
17
  return function (target, propertyKey, descriptor) {
13
18
  Reflect.defineMetadata(metadata_key_const_1.FLATTEN_PARAMETERS_METADATA_KEY, true, target, propertyKey);
@@ -75,4 +80,20 @@ function GrpcEnums(option) {
75
80
  decorators: [(0, class_validator_1.IsArray)(), (0, class_validator_1.IsEnum)(option.enum, { each: true })]
76
81
  });
77
82
  }
83
+ function GrpcPagination() {
84
+ return GrpcParam({
85
+ name: 'pagination',
86
+ type: pagination_dto_1.PaginationDto,
87
+ required: true,
88
+ decorators: [(0, class_validator_1.ValidateNested)(), (0, class_transformer_1.Type)(() => pagination_dto_1.PaginationDto)]
89
+ });
90
+ }
91
+ function GrpcSort() {
92
+ return GrpcParam({
93
+ name: 'sortParam',
94
+ type: sort_dto_1.SortDto,
95
+ required: false,
96
+ decorators: [(0, class_validator_1.ValidateNested)(), (0, class_transformer_1.Type)(() => sort_dto_1.SortDto)]
97
+ });
98
+ }
78
99
  //# sourceMappingURL=grpc-param.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grpc-param.decorator.js","sourceRoot":"","sources":["../../../lib/decorators/grpc-param.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grpc-param.decorator.js","sourceRoot":"","sources":["../../../lib/decorators/grpc-param.decorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class PaginationDto {
2
+ page: number;
3
+ perPage: number;
4
+ }
@@ -0,0 +1,30 @@
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.PaginationDto = void 0;
13
+ const property_decorator_1 = require("../decorators/property.decorator");
14
+ const class_validator_1 = require("class-validator");
15
+ class PaginationDto {
16
+ }
17
+ exports.PaginationDto = PaginationDto;
18
+ __decorate([
19
+ (0, property_decorator_1.Property)({ type: Number, format: 'int32' }),
20
+ (0, class_validator_1.IsNotEmpty)(),
21
+ (0, class_validator_1.IsNumber)(),
22
+ __metadata("design:type", Number)
23
+ ], PaginationDto.prototype, "page", void 0);
24
+ __decorate([
25
+ (0, property_decorator_1.Property)({ type: Number, format: 'int32' }),
26
+ (0, class_validator_1.IsNotEmpty)(),
27
+ (0, class_validator_1.IsNumber)(),
28
+ __metadata("design:type", Number)
29
+ ], PaginationDto.prototype, "perPage", void 0);
30
+ //# sourceMappingURL=pagination.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.dto.js","sourceRoot":"","sources":["../../../lib/dto/pagination.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAA4D;AAC5D,qDAAuD;AAEvD,MAAa,aAAa;CAUzB;AAVD,sCAUC;AANG;IAHC,IAAA,6BAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3C,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;2CACE;AAKb;IAHC,IAAA,6BAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3C,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;8CACK"}
@@ -0,0 +1,4 @@
1
+ export declare class SortDto {
2
+ sortField: string;
3
+ sortDirection: number;
4
+ }
@@ -0,0 +1,32 @@
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.SortDto = void 0;
13
+ const property_decorator_1 = require("../decorators/property.decorator");
14
+ const class_validator_1 = require("class-validator");
15
+ class SortDto {
16
+ }
17
+ exports.SortDto = SortDto;
18
+ __decorate([
19
+ (0, property_decorator_1.Property)({ type: String }),
20
+ (0, class_validator_1.IsString)(),
21
+ (0, class_validator_1.Matches)(/^[a-zA-Z0-9]+$/, {
22
+ message: 'Value must contain only letters and numbers, no spaces or special characters'
23
+ }),
24
+ __metadata("design:type", String)
25
+ ], SortDto.prototype, "sortField", void 0);
26
+ __decorate([
27
+ (0, property_decorator_1.Property)({ type: String }),
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.IsEnum)(['ASC', 'DESC']),
30
+ __metadata("design:type", Number)
31
+ ], SortDto.prototype, "sortDirection", void 0);
32
+ //# sourceMappingURL=sort.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.dto.js","sourceRoot":"","sources":["../../../lib/dto/sort.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAA4D;AAC5D,qDAA4D;AAE5D,MAAa,OAAO;CAYnB;AAZD,0BAYC;AANG;IALC,IAAA,6BAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAA,0BAAQ,GAAE;IACV,IAAA,yBAAO,EAAC,gBAAgB,EAAE;QACvB,OAAO,EAAE,8EAA8E;KAC1F,CAAC;;0CACgB;AAKlB;IAHC,IAAA,6BAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;;8CACF"}
@@ -7,6 +7,8 @@ const property_decorator_1 = require("../decorators/property.decorator");
7
7
  const grpc_value_decorator_1 = require("../decorators/grpc-value.decorator");
8
8
  const lodash_1 = require("lodash");
9
9
  const metadata_key_const_1 = require("../constants/metadata-key.const");
10
+ const class_validator_1 = require("class-validator");
11
+ const class_transformer_1 = require("class-transformer");
10
12
  function moveMetadata(origin, destination) {
11
13
  const metadataKeys = Reflect.getMetadataKeys(origin);
12
14
  for (const key of metadataKeys) {
@@ -39,16 +41,29 @@ function checkParamsIsContinuous(params) {
39
41
  }
40
42
  return true;
41
43
  }
44
+ function updateGrpcMethodParams(target, propertyKey) {
45
+ const params = Reflect.getMetadata(metadata_key_const_1.DIRECT_PARAMETERS_METADATA_KEY, target, propertyKey) || [];
46
+ const grpcValueIndex = Reflect.getMetadata(metadata_key_const_1.GRPC_PARAM_INDEX_METADATA_KEY, target, propertyKey);
47
+ if (grpcValueIndex !== undefined && params.length > 0) {
48
+ const grpcValueType = Reflect.getMetadata('design:paramtypes', target, propertyKey)[grpcValueIndex];
49
+ params.push({
50
+ name: 'body',
51
+ type: grpcValueType,
52
+ index: grpcValueIndex,
53
+ required: true,
54
+ decorators: [(0, class_validator_1.IsNotEmpty)(), (0, class_validator_1.ValidateNested)(), (0, class_transformer_1.Type)(() => grpcValueType)]
55
+ });
56
+ Reflect.defineMetadata(metadata_key_const_1.DIRECT_PARAMETERS_METADATA_KEY, params.sort((paramA, paramB) => paramA.index - paramB.index), target, propertyKey);
57
+ }
58
+ }
42
59
  function overrideMethod(target, propertyKey, descriptor) {
60
+ updateGrpcMethodParams(target, propertyKey);
43
61
  const originalMethod = descriptor.value;
44
62
  const dto = createParamDto(target, propertyKey, descriptor);
45
63
  const params = Reflect.getMetadata(metadata_key_const_1.DIRECT_PARAMETERS_METADATA_KEY, target, propertyKey) || [];
46
64
  if (!checkParamsIsContinuous(params)) {
47
65
  throw new Error(`Grpc direct parameters must be continuous and start from index 0 in method ${propertyKey}`);
48
66
  }
49
- if (params && Reflect.getMetadata(metadata_key_const_1.GRPC_PARAM_INDEX_METADATA_KEY, target, propertyKey) !== undefined) {
50
- throw new Error('Cannot use GrpcValue and direct parameters together');
51
- }
52
67
  descriptor.value = function (...args) {
53
68
  const newArgs = [];
54
69
  const body = args[0] ?? {};
@@ -62,6 +77,9 @@ function overrideMethod(target, propertyKey, descriptor) {
62
77
  };
63
78
  const oldParamTypes = Reflect.getMetadata('design:paramtypes', target, propertyKey) || [];
64
79
  const newParamTypes = [dto, ...oldParamTypes.slice(params.length)];
80
+ if (Reflect.getMetadata(metadata_key_const_1.GRPC_PARAM_INDEX_METADATA_KEY, target, propertyKey) !== undefined) {
81
+ Reflect.deleteMetadata(metadata_key_const_1.GRPC_PARAM_INDEX_METADATA_KEY, target, propertyKey);
82
+ }
65
83
  Reflect.defineMetadata('design:paramtypes', newParamTypes, target, propertyKey);
66
84
  moveMetadata(originalMethod, descriptor.value);
67
85
  (0, grpc_value_decorator_1.GrpcValue)()(target, propertyKey, 0);
@@ -1 +1 @@
1
- {"version":3,"file":"flat-param.helper.js","sourceRoot":"","sources":["../../../lib/helpers/flat-param.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flat-param.helper.js","sourceRoot":"","sources":["../../../lib/helpers/flat-param.helper.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './decorators/grpc-value.decorator';
5
5
  export * from './decorators/grpc-param.decorator';
6
6
  export * from './decorators/extend-type.decorator';
7
7
  export * from './decorators/any-type.decorator';
8
+ export * from './decorators/grpc-nullable-response.decorator';
8
9
  export * from './helpers/generate.helper';
9
10
  export * from './helpers/mock.helper';
10
11
  export * from './type-helpers/pick-type.helper';
package/index.js CHANGED
@@ -21,6 +21,7 @@ __exportStar(require("./decorators/grpc-value.decorator"), exports);
21
21
  __exportStar(require("./decorators/grpc-param.decorator"), exports);
22
22
  __exportStar(require("./decorators/extend-type.decorator"), exports);
23
23
  __exportStar(require("./decorators/any-type.decorator"), exports);
24
+ __exportStar(require("./decorators/grpc-nullable-response.decorator"), exports);
24
25
  __exportStar(require("./helpers/generate.helper"), exports);
25
26
  __exportStar(require("./helpers/mock.helper"), exports);
26
27
  __exportStar(require("./type-helpers/pick-type.helper"), exports);
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,kEAAgD;AAChD,8DAA4C;AAC5C,oEAAkD;AAClD,oEAAkD;AAClD,qEAAmD;AACnD,kEAAgD;AAChD,4DAA0C;AAC1C,wDAAsC;AACtC,kEAAgD;AAChD,kEAAgD;AAChD,qEAAmD;AACnD,0EAAwD;AACxD,+DAA6C;AAC7C,gEAA8C;AAC9C,iEAA+C;AAC/C,2EAAyD;AACzD,+DAA6C;AAC7C,4DAA0C;AAC1C,8EAA4D;AAC5D,uCAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,kEAAgD;AAChD,8DAA4C;AAC5C,oEAAkD;AAClD,oEAAkD;AAClD,qEAAmD;AACnD,kEAAgD;AAChD,gFAA8D;AAC9D,4DAA0C;AAC1C,wDAAsC;AACtC,kEAAgD;AAChD,kEAAgD;AAChD,qEAAmD;AACnD,0EAAwD;AACxD,+DAA6C;AAC7C,gEAA8C;AAC9C,iEAA+C;AAC/C,2EAAyD;AACzD,+DAA6C;AAC7C,4DAA0C;AAC1C,8EAA4D;AAC5D,uCAAqC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hodfords/nestjs-grpc-helper",
3
- "version": "11.4.0-rc.6",
3
+ "version": "11.4.0-rc.8",
4
4
  "description": "A utility for simplifying gRPC integration and communication in NestJS applications",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",
@@ -51,6 +51,9 @@ class GrpcHelper {
51
51
  if (data.grpcNative) {
52
52
  data = data.value;
53
53
  }
54
+ if (data.nullableGrpcResponse) {
55
+ return data.value;
56
+ }
54
57
  if (Array.isArray(data)) {
55
58
  return (0, class_transformer_1.plainToInstance)(this.model, data, { groups: ['__getData'] });
56
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"grpc.helper.js","sourceRoot":"","sources":["../../../../lib/sdk-stub/helpers/grpc.helper.ts"],"names":[],"mappings":";;;AACA,+BAA2D;AAC3D,2CAA2D;AAC3D,yDAAoD;AACpD,6EAAyD;AACzD,2CAAiD;AAEjD,2EAAgE;AAEhE,MAAa,UAAU;IAOnB,MAAM,CAAC,IAAI,CACP,MAAkB,EAClB,KAAwB,EACxB,OAAqC;QAErC,OAAO,IAAI,UAAU,CAAQ,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,YACY,MAAkB,EAClB,KAAwB,EACxB,OAAqC;QAFrC,WAAM,GAAN,MAAM,CAAY;QAClB,UAAK,GAAL,KAAK,CAAmB;QACxB,YAAO,GAAP,OAAO,CAA8B;QAdzC,aAAQ,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAC1B,WAAM,GAAG,IAAI,uBAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAe/C,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAY;QAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAM,IAAI,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAY;QACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,IAAS,EAAE,cAAoB;QAChC,IAAI,cAAc,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,IAAA,mCAAe,EAAC,cAAc,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO;QACT,IAAI,CAAC;YACD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAO,CAAC;YACrC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5B,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACtB,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,IAAA,mCAAe,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAA,mCAAe,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1E,CAAC;QACL,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7B,MAAM,SAAS,CAAC;QACpB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO;QACjB,MAAM,OAAO,GAAG,GAAe,EAAE,CAC7B,IAAI,CAAC,SAAS,CACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CACrG,CAAC;QAEN,OAAO,OAAO,EAAE,CAAC;IACrB,CAAC;IAIO,KAAK,CAAC,SAAS,CAAI,OAAsB;QAC7C,IAAI,CAAC;YACD,OAAO,MAAM,IAAA,qBAAc,EAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,KAAU;QAC1B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,IAAI,IAAI,gBAAM,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAQ,IAAI,sBAAa,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpF,SAAS,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;gBAC7C,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;gBAC1C,MAAM,SAAS,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,MAAM,IAAI,sBAAa,CAAC,IAAA,8BAAK,EAAC,yBAAyB,CAAC,EAAE,mBAAU,CAAC,qBAAqB,CAAC,CAAC;YAChG,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;CACJ;AAxGD,gCAwGC"}
1
+ {"version":3,"file":"grpc.helper.js","sourceRoot":"","sources":["../../../../lib/sdk-stub/helpers/grpc.helper.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,10 @@ export class GrpcHelper<Model> {
65
65
  if (data.grpcNative) {
66
66
  data = data.value;
67
67
  }
68
+ if (data.nullableGrpcResponse) {
69
+ return data.value;
70
+ }
71
+
68
72
  if (Array.isArray(data)) {
69
73
  return plainToInstance(this.model, data, { groups: ['__getData'] });
70
74
  } else {
@@ -3,11 +3,13 @@ import { PropertyOptionType } from 'lib/types/property-option.type';
3
3
  export declare class GenerateProtoService extends HbsGeneratorService {
4
4
  private packageName;
5
5
  private dirPath;
6
+ private nullableResponseTypes;
6
7
  constructor(packageName: string, dirPath: string);
7
8
  generate(): void;
8
9
  generateModels(): string;
9
10
  generateModel(dto: Function, properties: any): string;
10
11
  generateNativeModelList(): string[];
12
+ generateNullableWrapperMessages(): string[];
11
13
  getProtoType(option: PropertyOptionType): string;
12
14
  generateMicroservices(): string;
13
15
  generateMicroservice(constructor: Function): string;
@@ -52,6 +52,7 @@ class GenerateProtoService extends hbs_generator_service_1.HbsGeneratorService {
52
52
  super();
53
53
  this.packageName = packageName;
54
54
  this.dirPath = dirPath;
55
+ this.nullableResponseTypes = new Set();
55
56
  }
56
57
  generate() {
57
58
  let microserviceContent = this.generateMicroservices();
@@ -71,6 +72,7 @@ class GenerateProtoService extends hbs_generator_service_1.HbsGeneratorService {
71
72
  const dtoWithProperties = (0, property_helper_1.extractProperties)();
72
73
  let content = Object.keys(dtoWithProperties).map((name) => this.generateModel({ name }, dtoWithProperties[name]));
73
74
  content = content.concat(this.generateNativeModelList());
75
+ content = content.concat(this.generateNullableWrapperMessages());
74
76
  return content.reverse().join('\n');
75
77
  }
76
78
  generateModel(dto, properties) {
@@ -93,6 +95,11 @@ class GenerateProtoService extends hbs_generator_service_1.HbsGeneratorService {
93
95
  type: key
94
96
  }));
95
97
  }
98
+ generateNullableWrapperMessages() {
99
+ return Array.from(this.nullableResponseTypes).map((typeName) => {
100
+ return `message GrpcNullable${typeName} {\n\t${typeName} value = 1;\n\t bool nullableGrpcResponse = 2;\n}`;
101
+ });
102
+ }
96
103
  getProtoType(option) {
97
104
  const { type, format } = option;
98
105
  if ((0, shared_utils_1.isFunction)(type)) {
@@ -140,17 +147,26 @@ class GenerateProtoService extends hbs_generator_service_1.HbsGeneratorService {
140
147
  if (!(0, shared_utils_1.isUndefined)(parameterIndex)) {
141
148
  parameterName = params[parameterIndex].name;
142
149
  }
143
- const response = Reflect.getMetadata(nestjs_response_1.RESPONSE_METADATA_KEY, constructor.prototype[propertyKey]);
150
+ const nullableResponseClass = Reflect.getMetadata(metadata_key_const_1.GRPC_NULLABLE_RESPONSE_METADATA_KEY, constructor.prototype, propertyKey);
144
151
  let returnType = 'google.protobuf.Empty';
145
- if (response) {
146
- if (response.isArray) {
147
- returnType = `Proto${response.responseClass.name}List`;
148
- }
149
- else if ((0, type_helper_1.isPrimitiveType)(response.responseClass)) {
150
- returnType = `Native${response.responseClass.name}Value`;
151
- }
152
- else {
153
- returnType = response.responseClass.name;
152
+ if (nullableResponseClass) {
153
+ const baseTypeName = nullableResponseClass.name;
154
+ const wrapperTypeName = `GrpcNullable${baseTypeName}`;
155
+ this.nullableResponseTypes.add(baseTypeName);
156
+ returnType = wrapperTypeName;
157
+ }
158
+ else {
159
+ const response = Reflect.getMetadata(nestjs_response_1.RESPONSE_METADATA_KEY, constructor.prototype[propertyKey]);
160
+ if (response) {
161
+ if (response.isArray) {
162
+ returnType = `Proto${response.responseClass.name}List`;
163
+ }
164
+ else if ((0, type_helper_1.isPrimitiveType)(response.responseClass)) {
165
+ returnType = `Native${response.responseClass.name}Value`;
166
+ }
167
+ else {
168
+ returnType = response.responseClass.name;
169
+ }
154
170
  }
155
171
  }
156
172
  return `rpc ${propertyKey} (${parameterName}) returns (${returnType}) {}`;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-proto.service.js","sourceRoot":"","sources":["../../../lib/services/generate-proto.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+DAAkE;AAClE,oEAA4E;AAC5E,6CAA+B;AAC/B,gDAAwB;AACxB,gEAA+D;AAC/D,2EAAuE;AACvE,mEAA8D;AAE9D,mCAA+B;AAC/B,wDAAyD;AACzD,wEAA0G;AAE1G,MAAa,oBAAqB,SAAQ,2CAAmB;IACzD,YACY,WAAmB,EACnB,OAAe;QAEvB,KAAK,EAAE,CAAC;QAHA,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAQ;IAG3B,CAAC;IAED,QAAQ;QACJ,IAAI,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE3C,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,8BAA8B,EAAE;YACvE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,mBAAmB;YACnB,YAAY;SACf,CAAC;aACG,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;aAC1B,IAAI,EAAE,CAAC;QACZ,MAAM,qBAAqB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAC5E,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QACzC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IACjE,CAAC;IAED,cAAc;QACV,MAAM,iBAAiB,GAAG,IAAA,mCAAiB,GAAE,CAAC;QAC9C,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACtD,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAc,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;QACF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,aAAa,CAAC,GAAa,EAAE,UAAU;QACnC,MAAM,eAAe,GAAG,UAAU;aAC7B,GAAG,CACA,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAChB,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAC9E,QAAQ,CAAC,IACb,MAAM,KAAK,GAAG,CAAC,GAAG,CACzB;aACA,IAAI,CAAC,MAAM,CAAC,CAAC;QAElB,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE;YACjD,eAAe;YACf,IAAI,EAAE,GAAG,CAAC,IAAI;SACjB,CAAC,CAAC;IACP,CAAC;IAED,uBAAuB;QACnB,MAAM,WAAW,GAAG;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,MAAM;SAChB,CAAC;QAEF,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACxC,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE;YAC1C,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI;YAC3B,IAAI,EAAE,GAAG;SACZ,CAAC,CACL,CAAC;IACN,CAAC;IAED,YAAY,CAAC,MAA0B;QACnC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAEhC,IAAI,IAAA,yBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACvB,OAAQ,IAAY,EAAE,CAAC,IAAI,CAAC;YAChC,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAA,cAAK,EAAC,MAAM,CAAC,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qBAAqB;QACjB,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,WAAW,IAAI,0CAAmB,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,oBAAoB,CAAC,WAAqB;QACtC,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,YAAY;aAC1B,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;aACtE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,2BAA2B,EAAE;YACrD,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB,CAAC,WAAW,EAAE,WAAmB;QAC9C,IAAI,OAAO,CAAC,WAAW,CAAC,6CAAwB,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;YACpF,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAC5F,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CACtC,kDAA6B,EAC7B,WAAW,CAAC,SAAS,EACrB,WAAW,CACd,CAAC;YACF,IAAI,aAAa,GAAG,uBAAuB,CAAC;YAC5C,IAAI,CAAC,IAAA,0BAAW,EAAC,cAAc,CAAC,EAAE,CAAC;gBAC/B,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;YAChD,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,uCAAqB,EAAE,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YAChG,IAAI,UAAU,GAAG,uBAAuB,CAAC;YACzC,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnB,UAAU,GAAG,QAAQ,QAAQ,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC;gBAC3D,CAAC;qBAAM,IAAI,IAAA,6BAAe,EAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACjD,UAAU,GAAG,SAAS,QAAQ,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACJ,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;gBAC7C,CAAC;YACL,CAAC;YACD,OAAO,OAAO,WAAW,KAAK,aAAa,cAAc,UAAU,MAAM,CAAC;QAC9E,CAAC;IACL,CAAC;CACJ;AA5ID,oDA4IC"}
1
+ {"version":3,"file":"generate-proto.service.js","sourceRoot":"","sources":["../../../lib/services/generate-proto.service.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- {{#hasItems directParams}}
2
- const param = {
3
- {{#each directParams}}
4
- {{this.name}},
5
- {{/each}}
6
- };
7
- {{/hasItems}}
8
- {{#if response}}
9
- {{#if response.isArray}}
10
- return await GrpcHelper.with(this.client, {{{response.responseClass.name}}}, this.options)
11
- .service('{{{serviceName}}}')
12
- .method('{{{method}}}')
13
- .data({{#if parameterName}}param{{else}}{}{{/if}}{{#if parameterType}}, {{{parameterType}}}{{/if}})
14
- .getMany() as any;
15
- {{else}}
16
- return await GrpcHelper.with(this.client, {{{response.responseClass.name}}}, this.options)
17
- .service('{{{serviceName}}}')
18
- .method('{{{method}}}')
19
- .data({{#if parameterName}}param{{else}}{}{{/if}}{{#if parameterType}}, {{{parameterType}}}{{/if}})
20
- .getOne() as any;
21
- {{/if}}
22
- {{else}}
23
- await GrpcHelper.with(this.client, null as any, this.options)
24
- .service('{{{serviceName}}}')
25
- .method('{{{method}}}')
26
- .data({{#if parameterName}}param{{else}}{}{{/if}}{{#if parameterType}}, {{{parameterType}}}{{/if}})
27
- .getMany();
28
- {{/if}}
@@ -1,5 +0,0 @@
1
- service {{name}} {
2
- {{#each rpcMethods}}
3
- {{this}}
4
- {{/each}}
5
- }
@@ -1,5 +0,0 @@
1
- export * from './helpers/grpc.helper'
2
- export * from './{{{ fileName }}}.module'
3
- export * from './{{{ fileName }}}.mock.module'
4
- export * from './services/{{{ fileName }}}.service';
5
- export * from './types/microservice-option.type';
@@ -1,19 +0,0 @@
1
- {{#hasItems directParams}}
2
- async {{method}}(
3
- {{#each directParams}}
4
- {{this.name}}{{#unless this.required}}?{{/unless}}: {{this.type}}{{#if this.isArray}}[]{{/if}}{{#unless @last}}, {{/unless}}
5
- {{/each}}
6
- ): Promise<{{returnType}}> {
7
- {{{body}}}
8
- }
9
- {{else}}
10
- {{#if params}}
11
- async {{method}}(param: {{params}}): Promise<{{returnType}}> {
12
- {{{body}}}
13
- }
14
- {{else}}
15
- async {{method}}(): Promise<{{returnType}}> {
16
- {{{body}}}
17
- }
18
- {{/if}}
19
- {{/hasItems}}
@@ -1,19 +0,0 @@
1
- {{#hasItems directParams}}
2
- async {{method}}(
3
- {{#each directParams}}
4
- {{this.name}}{{#unless this.required}}?{{/unless}}: {{this.type}}{{#if this.isArray}}[]{{/if}}{{#unless @last}}, {{/unless}}
5
- {{/each}}
6
- ): Promise<{{returnType}}> {
7
- {{{body}}}
8
- }
9
- {{else}}
10
- {{#if params}}
11
- async {{method}}(param: {{params}}): Promise<{{returnType}}> {
12
- {{{body}}}
13
- }
14
- {{else}}
15
- async {{method}}(): Promise<{{returnType}}> {
16
- {{{body}}}
17
- }
18
- {{/if}}
19
- {{/hasItems}}
@@ -1,12 +0,0 @@
1
- import { Module, Global } from '@nestjs/common';
2
- import { {{#each importServices}}{{this}}{{#unless @last}},{{/unless}}{{/each}} } from './services/{{fileName}}.service';
3
-
4
- @Global()
5
- @Module({
6
- providers: [
7
- {{providers}}
8
- ],
9
- exports: [{{#each services}}{{this}}{{#unless @last}},{{/unless}}{{/each}}]
10
- })
11
- export class Mock{{moduleName}}Module {
12
- }
@@ -1,6 +0,0 @@
1
- {{#each services}}
2
- {
3
- provide: {{this}},
4
- useClass: Mock{{this}}
5
- }{{#unless @last}},{{/unless}}
6
- {{/each}}
@@ -1,44 +0,0 @@
1
- import { DynamicModule, Module, Global } from '@nestjs/common';
2
- import { ClientsModule } from '@nestjs/microservices';
3
- import path from 'path';
4
- import { MicroserviceModuleOptionType } from './types/microservice-option.type';
5
- import { {{#each services}}{{this}}{{#unless @last}},{{/unless}}{{/each}} } from './services/{{fileName}}.service';
6
- import { CustomGrpcClient } from '@hodfords/nestjs-grpc-helper';
7
- import * as grpc from '@grpc/grpc-js';
8
-
9
-
10
- @Global()
11
- @Module({})
12
- export class {{moduleName}}Module {
13
- static register(options: MicroserviceModuleOptionType): DynamicModule {
14
- return {
15
- module: {{moduleName}}Module,
16
- providers: [
17
- {{#each services}}{{this}}{{#unless @last}},{{/unless}}{{/each}},
18
- {
19
- provide: '{{packageName}}_OPTIONS',
20
- useValue: options
21
- }
22
- ],
23
- exports: [{{#each services}}{{this}}{{#unless @last}},{{/unless}}{{/each}}],
24
- imports: [
25
- ClientsModule.register([
26
- {
27
- name: '{{packageName}}_PACKAGE',
28
- customClass: CustomGrpcClient as any,
29
- options: {
30
- url: options.url,
31
- package: '{{packageName}}',
32
- protoPath: path.join(__dirname, 'microservice.proto'),
33
- credentials: options.ssl ? grpc.credentials.createSsl() : undefined,
34
- maxReceiveMessageLength: options.maxReceiveMessageLength ?? 4 * 1024 * 1024,
35
- loader: {
36
- arrays: options.shouldLoadEmptyArray ?? false
37
- }
38
- }
39
- }
40
- ])
41
- ]
42
- };
43
- }
44
- }
@@ -1,4 +0,0 @@
1
- message Proto{{{name}}}List {
2
- repeated {{{type}}} items = 1;
3
- bool grpcArray = 2;
4
- }
@@ -1,6 +0,0 @@
1
- syntax = "proto3";
2
- import "google/protobuf/empty.proto";
3
- package {{packageName}};
4
-
5
- {{{ microserviceContent}}}
6
- {{{ modelContent }}}
@@ -1,7 +0,0 @@
1
- message {{{name}}} {
2
- {{{propertyContent}}}
3
- }
4
- message Proto{{{name}}}List {
5
- repeated {{{name}}} items = 1;
6
- bool grpcArray = 2;
7
- }
@@ -1,49 +0,0 @@
1
- import { GrpcHelper } from '../helpers/grpc.helper';
2
- import { Inject, Injectable } from '@nestjs/common';
3
- import { ClientGrpc } from '@nestjs/microservices';
4
- import { MicroserviceModuleOptionType } from '../types/microservice-option.type';
5
- import { Type } from 'class-transformer';
6
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
7
- import { Property, AnyType, sample, sampleMethod } from '@hodfords/nestjs-grpc-helper';
8
- {{#if addAllowDecorator}}
9
- import { Allow } from 'class-validator';
10
- {{/if}}
11
-
12
- {{#each serviceContent}}
13
- {{#if isMock}}
14
- export class Mock{{ serviceName }} {
15
- {{#each methods}}
16
- {{{this}}}
17
- {{/each}}
18
- }
19
- {{else}}
20
- @Injectable()
21
- export class {{ serviceName }} {
22
- constructor(
23
- @Inject('{{ ../packageName }}_PACKAGE') private client: ClientGrpc,
24
- @Inject('{{ ../packageName }}_OPTIONS') private options: MicroserviceModuleOptionType
25
- ) {}
26
-
27
- {{#each methods}}
28
- {{{this}}}
29
- {{/each}}
30
- }
31
- {{/if}}
32
- {{/each}}
33
-
34
- {{#each modelContent}}
35
- export class {{ name }} {
36
- {{#each properties}}
37
- {{{this}}}
38
- {{/each}}
39
- }
40
- {{/each}}
41
-
42
-
43
- {{#each enumContent}}
44
- export enum {{ enumName }} {
45
- {{#each keys}}
46
- {{{this}}},
47
- {{/each}}
48
- }
49
- {{/each}}
@@ -1,17 +0,0 @@
1
- // Import module
2
-
3
- {{moduleName}}Module.register({
4
- timeout: 5000,
5
- url: 'localhost:50051'
6
- })
7
-
8
- // Use in service
9
- export class ExampleService {
10
- constructor(private {{packageName}}Microservice: {{moduleName}}Microservice) {
11
-
12
- }
13
-
14
- findOne() {
15
- return this.{{packageName}}Microservice.findOne({ id: 1 });
16
- }
17
- }