@restorecommerce/facade 0.3.2 → 0.3.5

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 (106) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/codegen/index.js +1 -1
  3. package/dist/gql/helpers/schema.d.ts +2 -6
  4. package/dist/gql/index.js +5 -1
  5. package/dist/gql/protos/graphql.d.ts +5 -7
  6. package/dist/gql/protos/graphql.js +44 -45
  7. package/dist/gql/protos/index.js +5 -1
  8. package/dist/gql/protos/protos.d.ts +1 -1
  9. package/dist/gql/protos/protos.js +4 -4
  10. package/dist/gql/protos/registry.d.ts +1 -1
  11. package/dist/gql/protos/registry.js +38 -38
  12. package/dist/gql/protos/types.d.ts +1 -1
  13. package/dist/gql/protos/utils.d.ts +0 -14
  14. package/dist/gql/protos/utils.js +16 -40
  15. package/dist/gql/types/AccessControlTypes.js +2 -2
  16. package/dist/gql/types/DateType.d.ts +1 -1
  17. package/dist/gql/types/index.js +5 -1
  18. package/dist/index.js +13 -6
  19. package/dist/middlewares/index.js +5 -1
  20. package/dist/middlewares/req-res-logger/index.js +2 -2
  21. package/dist/modules/access-control/gql/federation.js +4 -3
  22. package/dist/modules/access-control/gql/schema.generated.d.ts +135 -94
  23. package/dist/modules/access-control/gql/schema.js +2 -2
  24. package/dist/modules/access-control/gql/types.js +1 -1
  25. package/dist/modules/access-control/grpc/index.js +4 -4
  26. package/dist/modules/access-control/index.js +2 -2
  27. package/dist/modules/catalog/gql/federation.js +4 -3
  28. package/dist/modules/catalog/gql/schema.generated.d.ts +185 -130
  29. package/dist/modules/catalog/gql/schema.js +2 -2
  30. package/dist/modules/catalog/gql/types.js +1 -1
  31. package/dist/modules/catalog/grpc/index.js +5 -5
  32. package/dist/modules/catalog/index.js +2 -2
  33. package/dist/modules/facade-status/gql/index.js +2 -2
  34. package/dist/modules/facade-status/gql/schema.generated.d.ts +6 -7
  35. package/dist/modules/facade-status/gql/types.js +1 -1
  36. package/dist/modules/facade-status/index.js +1 -1
  37. package/dist/modules/fulfillment/gql/federation.js +4 -3
  38. package/dist/modules/fulfillment/gql/schema.generated.d.ts +180 -123
  39. package/dist/modules/fulfillment/gql/schema.js +2 -2
  40. package/dist/modules/fulfillment/gql/types.js +1 -1
  41. package/dist/modules/fulfillment/grpc/index.js +2 -2
  42. package/dist/modules/fulfillment/index.js +2 -2
  43. package/dist/modules/identity/api-key/api-key.js +1 -1
  44. package/dist/modules/identity/gql/federation.js +4 -3
  45. package/dist/modules/identity/gql/schema.generated.d.ts +251 -172
  46. package/dist/modules/identity/gql/schema.js +2 -2
  47. package/dist/modules/identity/gql/types.js +1 -1
  48. package/dist/modules/identity/grpc/index.js +5 -5
  49. package/dist/modules/identity/index.js +5 -5
  50. package/dist/modules/identity/oauth/oauth.js +11 -11
  51. package/dist/modules/identity/oidc/adapter.js +2 -2
  52. package/dist/modules/identity/oidc/in-memory-adapter.js +10 -6
  53. package/dist/modules/identity/oidc/index.js +6 -6
  54. package/dist/modules/identity/oidc/password-grant.js +4 -4
  55. package/dist/modules/identity/oidc/user.js +2 -2
  56. package/dist/modules/identity/oidc/utils.js +1 -1
  57. package/dist/modules/index.js +5 -1
  58. package/dist/modules/indexing/gql/federation.js +4 -3
  59. package/dist/modules/indexing/gql/schema.generated.d.ts +12 -13
  60. package/dist/modules/indexing/gql/schema.js +2 -2
  61. package/dist/modules/indexing/gql/types.js +1 -1
  62. package/dist/modules/indexing/grpc/index.js +1 -1
  63. package/dist/modules/indexing/index.js +2 -2
  64. package/dist/modules/invoicing/gql/federation.js +4 -3
  65. package/dist/modules/invoicing/gql/schema.generated.d.ts +89 -64
  66. package/dist/modules/invoicing/gql/schema.js +2 -2
  67. package/dist/modules/invoicing/gql/types.js +1 -1
  68. package/dist/modules/invoicing/grpc/index.js +1 -1
  69. package/dist/modules/invoicing/index.js +2 -2
  70. package/dist/modules/notification/gql/federation.js +4 -3
  71. package/dist/modules/notification/gql/schema.generated.d.ts +87 -62
  72. package/dist/modules/notification/gql/schema.js +2 -2
  73. package/dist/modules/notification/gql/types.js +1 -1
  74. package/dist/modules/notification/grpc/index.js +1 -1
  75. package/dist/modules/notification/index.js +2 -2
  76. package/dist/modules/ordering/gql/federation.js +4 -3
  77. package/dist/modules/ordering/gql/schema.generated.d.ts +130 -95
  78. package/dist/modules/ordering/gql/schema.js +2 -2
  79. package/dist/modules/ordering/gql/types.js +1 -1
  80. package/dist/modules/ordering/grpc/index.js +1 -1
  81. package/dist/modules/ordering/index.js +2 -2
  82. package/dist/modules/ostorage/gql/federation.js +4 -3
  83. package/dist/modules/ostorage/gql/schema.generated.d.ts +91 -64
  84. package/dist/modules/ostorage/gql/schema.js +2 -2
  85. package/dist/modules/ostorage/gql/types.js +1 -1
  86. package/dist/modules/ostorage/grpc/index.js +1 -1
  87. package/dist/modules/ostorage/index.js +2 -2
  88. package/dist/modules/payment/gql/federation.js +4 -3
  89. package/dist/modules/payment/gql/schema.generated.d.ts +40 -35
  90. package/dist/modules/payment/gql/schema.js +2 -2
  91. package/dist/modules/payment/gql/types.js +1 -1
  92. package/dist/modules/payment/grpc/index.js +1 -1
  93. package/dist/modules/payment/index.js +2 -2
  94. package/dist/modules/resource/gql/federation.js +4 -3
  95. package/dist/modules/resource/gql/schema.generated.d.ts +263 -182
  96. package/dist/modules/resource/gql/schema.js +2 -2
  97. package/dist/modules/resource/gql/types.js +1 -1
  98. package/dist/modules/resource/grpc/index.js +12 -12
  99. package/dist/modules/resource/index.js +2 -2
  100. package/dist/modules/scheduling/gql/federation.js +4 -3
  101. package/dist/modules/scheduling/gql/schema.generated.d.ts +83 -58
  102. package/dist/modules/scheduling/gql/schema.js +2 -2
  103. package/dist/modules/scheduling/gql/types.js +1 -1
  104. package/dist/modules/scheduling/grpc/index.js +1 -1
  105. package/dist/modules/scheduling/index.js +2 -2
  106. package/package.json +42 -42
package/CHANGELOG.md CHANGED
@@ -3,6 +3,37 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.3.5](https://github.com/restorecommerce/libs/compare/@restorecommerce/facade@0.3.4...@restorecommerce/facade@0.3.5) (2022-03-04)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **facade:** added null check ([2ff25fe](https://github.com/restorecommerce/libs/commit/2ff25febd04ffa624d2ba4a7b50179726abfe8da))
12
+
13
+
14
+
15
+
16
+
17
+ ## [0.3.4](https://github.com/restorecommerce/libs/compare/@restorecommerce/facade@0.3.3...@restorecommerce/facade@0.3.4) (2022-03-04)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **facade:** added scope for all mutations and queries ([3b4df19](https://github.com/restorecommerce/libs/commit/3b4df196fa8bbbdc169846c588d3d53c85a4c091))
23
+ * **facade:** fixed enum type mapping for nested object ([f452229](https://github.com/restorecommerce/libs/commit/f452229fc3ceec7205d079884a55076578e5a975))
24
+
25
+
26
+
27
+
28
+
29
+ ## [0.3.3](https://github.com/restorecommerce/libs/compare/@restorecommerce/facade@0.3.2...@restorecommerce/facade@0.3.3) (2022-03-01)
30
+
31
+ **Note:** Version bump only for package @restorecommerce/facade
32
+
33
+
34
+
35
+
36
+
6
37
  ## [0.3.2](https://github.com/restorecommerce/libs/compare/@restorecommerce/facade@0.3.1...@restorecommerce/facade@0.3.2) (2022-02-23)
7
38
 
8
39
  **Note:** Version bump only for package @restorecommerce/facade
package/codegen/index.js CHANGED
@@ -33,7 +33,7 @@ async function generateSchemaTypings({ schema, outputFile, typescript, typescrip
33
33
  typescriptResolvers: typescriptResolversPlugin,
34
34
  },
35
35
  };
36
- const output = await core_1.codegen(codegenConfig);
36
+ const output = await (0, core_1.codegen)(codegenConfig);
37
37
  fs.writeFileSync(outputFile, output);
38
38
  console.log('Schema typings generated in' + outputFile);
39
39
  }
@@ -48,13 +48,9 @@ export interface CreateSchemaCRUDFieldsArgs {
48
48
  }
49
49
  export declare function createSchemaCRUDFields(args: CreateSchemaCRUDFieldsArgs): {
50
50
  queryFields: {
51
- [x: string]: GraphQLFieldConfig<any, any, {
52
- [argName: string]: any;
53
- }>;
51
+ [x: string]: GraphQLFieldConfig<any, any, any>;
54
52
  };
55
53
  mutationFields: {
56
- [x: string]: GraphQLFieldConfig<any, any, {
57
- [argName: string]: any;
58
- }>;
54
+ [x: string]: GraphQLFieldConfig<any, any, any>;
59
55
  };
60
56
  };
package/dist/gql/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,11 +1,9 @@
1
- import { GraphQLInputField, GraphQLResolveInfo, GraphQLSchema } from "graphql";
2
- import { GraphQLEnumType, GraphQLFieldConfig, GraphQLFieldConfigMap, GraphQLInputObjectType, GraphQLInputType, Thunk } from "graphql/type/definition";
1
+ import { GraphQLInputField, GraphQLResolveInfo, GraphQLSchema, ThunkObjMap } from "graphql";
2
+ import { GraphQLEnumType, GraphQLFieldConfig, GraphQLFieldConfigMap, GraphQLInputObjectType, GraphQLInputType } from "graphql/type/definition";
3
3
  import { ServiceConfig, SubService, SubSpaceServiceConfig } from "./types";
4
- import { MethodDescriptorProto, ServiceDescriptorProto } from "ts-proto-descriptors/google/protobuf/descriptor";
4
+ import { MethodDescriptorProto, ServiceDescriptorProto } from "ts-proto-descriptors";
5
5
  import { GrpcClientConfig } from "@restorecommerce/grpc-client";
6
- export declare const getGQLSchema: <TSource, TContext>(method: MethodDescriptorProto) => GraphQLFieldConfig<TSource, TContext, {
7
- [argName: string]: any;
8
- }>;
6
+ export declare const getGQLSchema: <TSource, TContext>(method: MethodDescriptorProto) => GraphQLFieldConfig<TSource, TContext, any>;
9
7
  export declare const getGQLSchemas: <TSource, TContext>(service: ServiceDescriptorProto) => GraphQLFieldConfigMap<TSource, TContext>;
10
8
  export declare const recursiveUploadToBuffer: (data: any, model: GraphQLInputObjectType | GraphQLEnumType | GraphQLInputField | GraphQLInputType) => Promise<any>;
11
9
  export declare type ResolverFn<TResult, TParent, TContext, TArgs> = (parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo) => Promise<TResult> | TResult;
@@ -17,7 +15,7 @@ declare type ServiceClient<Context extends Pick<Context, Key>, Key extends keyof
17
15
  export declare const getGQLResolverFunctions: <T extends Record<string, any>, CTX extends ServiceClient<CTX, keyof CTX, T>, SRV = any, R = ResolverFn<any, any, ServiceClient<CTX, keyof CTX, T>, any>, B extends keyof T = any, NS extends keyof CTX = any>(service: ServiceDescriptorProto, key: NS, serviceKey: B, grpcClientConfig: GrpcClientConfig) => { [key in keyof SRV]: R; };
18
16
  export declare const registerResolverFunction: <T extends Record<string, any>, CTX extends ServiceClient<CTX, keyof CTX, T>>(namespace: string, name: string, func: ResolverFn<any, any, ServiceClient<CTX, keyof CTX, T>, any>, mutation?: boolean, subspace?: string | undefined, service?: ServiceDescriptorProto | undefined) => void;
19
17
  export declare const generateResolver: (...namespaces: string[]) => any;
20
- export declare const registerResolverSchema: (namespace: string, name: string, schema: Thunk<GraphQLFieldConfig<any, any>>, mutation?: boolean, subspace?: string | undefined) => void;
18
+ export declare const registerResolverSchema: (namespace: string, name: string, schema: ThunkObjMap<GraphQLFieldConfig<any, any>>, mutation?: boolean, subspace?: string | undefined) => void;
21
19
  export declare const generateSchema: (setup: {
22
20
  prefix: string;
23
21
  namespace: string;
@@ -17,7 +17,7 @@ const getGQLSchema = (method) => {
17
17
  // type: new GraphQLNonNull(OperationStatusType),
18
18
  // },
19
19
  };
20
- const responseTyping = registry_1.getTyping(method.outputType);
20
+ const responseTyping = (0, registry_1.getTyping)(method.outputType);
21
21
  if (!responseTyping) {
22
22
  throw Error("Method doesn't have registered typings: " + method.outputType);
23
23
  }
@@ -26,7 +26,7 @@ const getGQLSchema = (method) => {
26
26
  type: responseTyping.output,
27
27
  };
28
28
  }
29
- const outName = "Proto" + utils_1.capitalizeProtoName(method.outputType);
29
+ const outName = "Proto" + (0, utils_1.capitalizeProtoName)(method.outputType);
30
30
  let out = typeCache.get(outName);
31
31
  if (!out) {
32
32
  out = new graphql_1.GraphQLObjectType({
@@ -35,7 +35,7 @@ const getGQLSchema = (method) => {
35
35
  });
36
36
  typeCache.set(outName, out);
37
37
  }
38
- const typing = registry_1.getTyping(method.inputType);
38
+ const typing = (0, registry_1.getTyping)(method.inputType);
39
39
  if (!typing) {
40
40
  throw Error("Method doesn't have registered typings: " + method.inputType);
41
41
  }
@@ -43,7 +43,7 @@ const getGQLSchema = (method) => {
43
43
  type: out,
44
44
  args: method.inputType === '.google.protobuf.Empty' ? undefined : {
45
45
  input: {
46
- type: graphql_1.GraphQLNonNull(typing.input)
46
+ type: new graphql_1.GraphQLNonNull(typing.input)
47
47
  }
48
48
  }
49
49
  };
@@ -52,7 +52,7 @@ exports.getGQLSchema = getGQLSchema;
52
52
  const getGQLSchemas = (service) => {
53
53
  var _a;
54
54
  return (_a = service.method) === null || _a === void 0 ? void 0 : _a.reduce((obj, method) => {
55
- obj[method.name] = exports.getGQLSchema(method);
55
+ obj[method.name] = (0, exports.getGQLSchema)(method);
56
56
  return obj;
57
57
  }, {});
58
58
  };
@@ -64,17 +64,17 @@ const recursiveUploadToBuffer = async (data, model) => {
64
64
  if (model instanceof definition_1.GraphQLInputObjectType) {
65
65
  const fields = model.getFields();
66
66
  for (let key of Object.keys(fields)) {
67
- if (key in data) {
68
- data[key] = await exports.recursiveUploadToBuffer(data[key], fields[key].type);
67
+ if (data && key in data) {
68
+ data[key] = await (0, exports.recursiveUploadToBuffer)(data[key], fields[key].type);
69
69
  }
70
70
  }
71
71
  }
72
72
  if (model instanceof graphql_1.GraphQLNonNull) {
73
- return await exports.recursiveUploadToBuffer(data, model.ofType);
73
+ return await (0, exports.recursiveUploadToBuffer)(data, model.ofType);
74
74
  }
75
75
  if (model instanceof graphql_1.GraphQLList) {
76
76
  for (let i = 0; i < data.length; i++) {
77
- data[i] = await exports.recursiveUploadToBuffer(data[i], model.ofType);
77
+ data[i] = await (0, exports.recursiveUploadToBuffer)(data[i], model.ofType);
78
78
  }
79
79
  }
80
80
  if (model instanceof definition_1.GraphQLScalarType) {
@@ -101,7 +101,7 @@ const getGQLResolverFunctions = (service, key, serviceKey, grpcClientConfig) =>
101
101
  return {};
102
102
  }
103
103
  return service.method.reduce((obj, method) => {
104
- const typing = registry_1.getTyping(method.inputType);
104
+ const typing = (0, registry_1.getTyping)(method.inputType);
105
105
  if (!typing) {
106
106
  throw Error(`Method '${method.name}' could not find input type: ${method.inputType}`);
107
107
  }
@@ -119,27 +119,26 @@ const getGQLResolverFunctions = (service, key, serviceKey, grpcClientConfig) =>
119
119
  }
120
120
  }
121
121
  obj[method.name] = async (args, context) => {
122
- var _a;
123
122
  const client = context[key].client;
124
123
  const service = client[serviceKey];
125
124
  try {
126
- const converted = await exports.recursiveUploadToBuffer(args.input, typing.input);
125
+ const converted = await (0, exports.recursiveUploadToBuffer)(args.input, typing.input);
127
126
  let req = {
128
127
  // Fill defaults
129
128
  ...defaults,
130
129
  ...converted
131
130
  };
132
131
  // convert enum strings to integers
133
- req = utils_1.convertEnumToInt(typing, req);
132
+ req = (0, utils_1.convertEnumToInt)(typing, req);
134
133
  if (subjectField !== null) {
135
- req.subject = registry_1.getTyping(types_1.authSubjectType).processor.fromPartial({});
134
+ req.subject = (0, registry_1.getTyping)(types_1.authSubjectType).processor.fromPartial({});
136
135
  const authToken = context.request.req.headers['authorization'];
137
136
  if (authToken && authToken.startsWith('Bearer ')) {
138
137
  req.subject.token = authToken.split(' ')[1];
139
138
  }
140
139
  }
141
140
  const result = await service[method.name](req);
142
- const bufferFields = utils_1.getKeys((_a = grpcClientConfig) === null || _a === void 0 ? void 0 : _a.bufferFields);
141
+ const bufferFields = (0, utils_1.getKeys)(grpcClientConfig === null || grpcClientConfig === void 0 ? void 0 : grpcClientConfig.bufferFields);
143
142
  if (result instanceof stream.Readable) {
144
143
  let operationStatus = { code: 0, message: '' };
145
144
  let aggregatedResponse = await new Promise((resolve, reject) => {
@@ -195,7 +194,7 @@ const getGQLResolverFunctions = (service, key, serviceKey, grpcClientConfig) =>
195
194
  return { details: aggregatedResponse, operationStatus };
196
195
  }
197
196
  if ('items' in result) {
198
- let items = utils_1.decodeBufferFields(result.items, bufferFields);
197
+ let items = (0, utils_1.decodeBufferFields)(result.items, bufferFields);
199
198
  return {
200
199
  details: {
201
200
  items: items,
@@ -205,7 +204,7 @@ const getGQLResolverFunctions = (service, key, serviceKey, grpcClientConfig) =>
205
204
  }
206
205
  else {
207
206
  return {
208
- details: utils_1.decodeBufferFields([result], bufferFields)[0]
207
+ details: (0, utils_1.decodeBufferFields)([result], bufferFields)[0]
209
208
  };
210
209
  }
211
210
  }
@@ -240,8 +239,8 @@ const MutateResolver = async (req, ctx, schema) => {
240
239
  }
241
240
  }
242
241
  if (key && module_name) {
243
- module_name = utils_1.convertyCamelToSnakeCase(module_name);
244
- key = utils_1.convertyCamelToSnakeCase(key);
242
+ module_name = (0, utils_1.convertyCamelToSnakeCase)(module_name);
243
+ key = (0, utils_1.convertyCamelToSnakeCase)(key);
245
244
  service = (_e = ctx[module_name]) === null || _e === void 0 ? void 0 : _e.client[key];
246
245
  }
247
246
  try {
@@ -263,8 +262,8 @@ const MutateResolver = async (req, ctx, schema) => {
263
262
  const inputMethodTypeKey = module_name.toLowerCase() + '.' + key.toLowerCase() + '.' + method.toLowerCase();
264
263
  const nsType = inputMethodType.get(inputMethodTypeKey);
265
264
  if (nsType) {
266
- const inputTyping = registry_1.getTyping(nsType);
267
- utils_1.convertEnumToInt(inputTyping, input);
265
+ const inputTyping = (0, registry_1.getTyping)(nsType);
266
+ (0, utils_1.convertEnumToInt)(inputTyping, input);
268
267
  }
269
268
  // check service object contains requested mode's method def
270
269
  if (!service[method]) {
@@ -496,9 +495,9 @@ const generateSchema = (setup) => {
496
495
  const fields = {};
497
496
  namespaceResolverSchemaRegistry.get(s.namespace).get(false).forEach((value, key) => {
498
497
  if (value instanceof Map) {
499
- const capitalName = utils_1.capitalizeProtoName(key);
498
+ const capitalName = (0, utils_1.capitalizeProtoName)(key);
500
499
  fields[key] = {
501
- type: graphql_1.GraphQLNonNull(new graphql_1.GraphQLObjectType({
500
+ type: new graphql_1.GraphQLNonNull(new graphql_1.GraphQLObjectType({
502
501
  name: s.prefix + capitalName + 'Query',
503
502
  fields: Object.fromEntries(value),
504
503
  }))
@@ -509,7 +508,7 @@ const generateSchema = (setup) => {
509
508
  }
510
509
  });
511
510
  queryFields[s.namespace] = {
512
- type: graphql_1.GraphQLNonNull(new graphql_1.GraphQLObjectType({
511
+ type: new graphql_1.GraphQLNonNull(new graphql_1.GraphQLObjectType({
513
512
  name: s.prefix + 'Query',
514
513
  fields
515
514
  }))
@@ -519,9 +518,9 @@ const generateSchema = (setup) => {
519
518
  const fields = {};
520
519
  namespaceResolverSchemaRegistry.get(s.namespace).get(true).forEach((value, key) => {
521
520
  if (value instanceof Map) {
522
- const capitalName = utils_1.capitalizeProtoName(key);
521
+ const capitalName = (0, utils_1.capitalizeProtoName)(key);
523
522
  fields[key] = {
524
- type: graphql_1.GraphQLNonNull(new graphql_1.GraphQLObjectType({
523
+ type: new graphql_1.GraphQLNonNull(new graphql_1.GraphQLObjectType({
525
524
  name: s.prefix + capitalName + 'Mutation',
526
525
  fields: Object.fromEntries(value),
527
526
  }))
@@ -532,7 +531,7 @@ const generateSchema = (setup) => {
532
531
  }
533
532
  });
534
533
  mutationFields[s.namespace] = {
535
- type: graphql_1.GraphQLNonNull(new graphql_1.GraphQLObjectType({
534
+ type: new graphql_1.GraphQLNonNull(new graphql_1.GraphQLObjectType({
536
535
  name: s.prefix + 'Mutation',
537
536
  fields
538
537
  }))
@@ -609,53 +608,53 @@ const getWhitelistBlacklistConfig = (metaService, queries, config) => {
609
608
  };
610
609
  exports.getWhitelistBlacklistConfig = getWhitelistBlacklistConfig;
611
610
  const getAndGenerateSchema = (service, namespace, prefix, cfg, queryList) => {
612
- const { mutations, queries } = exports.getWhitelistBlacklistConfig(service, queryList, cfg);
613
- const schemas = exports.getGQLSchemas(service);
611
+ const { mutations, queries } = (0, exports.getWhitelistBlacklistConfig)(service, queryList, cfg);
612
+ const schemas = (0, exports.getGQLSchemas)(service);
614
613
  Object.keys(schemas).forEach(key => {
615
- exports.registerResolverSchema(namespace, key, schemas[key], !queries.has(key) && mutations.has(key));
614
+ (0, exports.registerResolverSchema)(namespace, key, schemas[key], !queries.has(key) && mutations.has(key));
616
615
  });
617
- return exports.generateSchema([{ prefix, namespace }]);
616
+ return (0, exports.generateSchema)([{ prefix, namespace }]);
618
617
  };
619
618
  exports.getAndGenerateSchema = getAndGenerateSchema;
620
619
  const getAndGenerateResolvers = (service, namespace, cfg, queryList, subspace = undefined, serviceKey = undefined) => {
621
- const { mutations, queries } = exports.getWhitelistBlacklistConfig(service, queryList, cfg);
622
- const func = exports.getGQLResolverFunctions(service, namespace, serviceKey || subspace || namespace, cfg.client);
620
+ const { mutations, queries } = (0, exports.getWhitelistBlacklistConfig)(service, queryList, cfg);
621
+ const func = (0, exports.getGQLResolverFunctions)(service, namespace, serviceKey || subspace || namespace, cfg.client);
623
622
  Object.keys(func).forEach(k => {
624
- exports.registerResolverFunction(namespace, k, func[k], !queries.has(k) && mutations.has(k), subspace, service);
623
+ (0, exports.registerResolverFunction)(namespace, k, func[k], !queries.has(k) && mutations.has(k), subspace, service);
625
624
  });
626
- return exports.generateResolver(namespace);
625
+ return (0, exports.generateResolver)(namespace);
627
626
  };
628
627
  exports.getAndGenerateResolvers = getAndGenerateResolvers;
629
628
  const generateSubServiceSchemas = (subServices, config, namespace, prefix) => {
630
629
  subServices.forEach((sub) => {
631
- const { mutations, queries } = exports.getWhitelistBlacklistConfig(sub.service, sub.queries, config);
632
- const schemas = exports.getGQLSchemas(sub.service);
630
+ const { mutations, queries } = (0, exports.getWhitelistBlacklistConfig)(sub.service, sub.queries, config);
631
+ const schemas = (0, exports.getGQLSchemas)(sub.service);
633
632
  Object.keys(schemas).forEach(key => {
634
- exports.registerResolverSchema(config.root ? sub.name : namespace, key, schemas[key], !queries.has(key) && mutations.has(key), config.root ? undefined : sub.name);
633
+ (0, exports.registerResolverSchema)(config.root ? sub.name : namespace, key, schemas[key], !queries.has(key) && mutations.has(key), config.root ? undefined : sub.name);
635
634
  });
636
635
  });
637
636
  if (config.root) {
638
- return exports.generateSchema(subServices.map(srv => ({
637
+ return (0, exports.generateSchema)(subServices.map(srv => ({
639
638
  prefix: prefix + srv.name.substr(0, 1).toUpperCase() + srv.name.substr(1).toLowerCase(),
640
639
  namespace: srv.name
641
640
  })));
642
641
  }
643
- return exports.generateSchema([{ prefix, namespace }]);
642
+ return (0, exports.generateSchema)([{ prefix, namespace }]);
644
643
  };
645
644
  exports.generateSubServiceSchemas = generateSubServiceSchemas;
646
645
  const generateSubServiceResolvers = (subServices, config, namespace) => {
647
646
  subServices.forEach((sub) => {
648
- const { mutations, queries } = exports.getWhitelistBlacklistConfig(sub.service, sub.queries, config);
649
- const func = exports.getGQLResolverFunctions(sub.service, namespace, sub.name || namespace, config.client);
647
+ const { mutations, queries } = (0, exports.getWhitelistBlacklistConfig)(sub.service, sub.queries, config);
648
+ const func = (0, exports.getGQLResolverFunctions)(sub.service, namespace, sub.name || namespace, config.client);
650
649
  Object.keys(func).forEach(k => {
651
650
  const regNamespace = config.root ? sub.name : namespace;
652
651
  const regSubspace = config.root ? undefined : sub.name;
653
- exports.registerResolverFunction(regNamespace, k, func[k], !queries.has(k) && mutations.has(k), regSubspace, sub.service);
652
+ (0, exports.registerResolverFunction)(regNamespace, k, func[k], !queries.has(k) && mutations.has(k), regSubspace, sub.service);
654
653
  });
655
654
  });
656
655
  if (config.root) {
657
- return exports.generateResolver(...subServices.map(srv => srv.name));
656
+ return (0, exports.generateResolver)(...subServices.map(srv => srv.name));
658
657
  }
659
- return exports.generateResolver(namespace);
658
+ return (0, exports.generateResolver)(namespace);
660
659
  };
661
660
  exports.generateSubServiceResolvers = generateSubServiceResolvers;
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,6 +1,6 @@
1
1
  import { GrpcClientRpcMethodDefinition, GrpcService, GrpcServiceMethods } from "@restorecommerce/grpc-client";
2
2
  import { RestoreCommerceGrpcClient } from "@restorecommerce/rc-grpc-clients";
3
- import { ServiceDescriptorProto, MethodDescriptorProto } from "ts-proto-descriptors/google/protobuf/descriptor";
3
+ import { ServiceDescriptorProto, MethodDescriptorProto } from "ts-proto-descriptors";
4
4
  export declare const getProtoFunction: (method: MethodDescriptorProto) => GrpcClientRpcMethodDefinition<any, any>;
5
5
  export declare const getProtoFunctions: <M extends GrpcService = any>(service: ServiceDescriptorProto) => GrpcServiceMethods<M>;
6
6
  export declare const getGRPCService: <T extends Record<string, any>>(self: RestoreCommerceGrpcClient, packageName: string, service: ServiceDescriptorProto) => T;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getGRPCService = exports.getProtoFunctions = exports.getProtoFunction = void 0;
4
4
  const registry_1 = require("./registry");
5
5
  const getProtoFunction = (method) => {
6
- const inputMessage = registry_1.getTyping(method.inputType);
7
- const outputMessage = registry_1.getTyping(method.outputType);
6
+ const inputMessage = (0, registry_1.getTyping)(method.inputType);
7
+ const outputMessage = (0, registry_1.getTyping)(method.outputType);
8
8
  if (!inputMessage) {
9
9
  throw Error(`Method '${method.name}' could not find input type: ${method.inputType}`);
10
10
  }
@@ -40,7 +40,7 @@ exports.getProtoFunction = getProtoFunction;
40
40
  const getProtoFunctions = (service) => {
41
41
  var _a;
42
42
  return (_a = service.method) === null || _a === void 0 ? void 0 : _a.reduce((obj, method) => {
43
- obj[method.name] = exports.getProtoFunction(method);
43
+ obj[method.name] = (0, exports.getProtoFunction)(method);
44
44
  return obj;
45
45
  }, {});
46
46
  };
@@ -49,7 +49,7 @@ const getGRPCService = (self, packageName, service) => {
49
49
  return self['createService']({
50
50
  packageName,
51
51
  serviceName: service.name,
52
- methods: exports.getProtoFunctions(service)
52
+ methods: (0, exports.getProtoFunctions)(service)
53
53
  });
54
54
  };
55
55
  exports.getGRPCService = getGRPCService;
@@ -1,7 +1,7 @@
1
1
  import { GraphQLEnumTypeConfig, GraphQLInputObjectTypeConfig, GraphQLObjectType, GraphQLObjectTypeConfig } from "graphql";
2
2
  import { GraphQLEnumType, GraphQLInputObjectType } from "graphql/type/definition";
3
3
  import { ProtoMetadata } from "./types";
4
- import { DescriptorProto, EnumDescriptorProto, MethodDescriptorProto } from "ts-proto-descriptors/google/protobuf/descriptor";
4
+ import { DescriptorProto, EnumDescriptorProto, MethodDescriptorProto } from "ts-proto-descriptors";
5
5
  export interface TypingData {
6
6
  output: GraphQLObjectType | GraphQLEnumType;
7
7
  input: GraphQLInputObjectType | GraphQLEnumType;
@@ -6,8 +6,7 @@ const definition_1 = require("graphql/type/definition");
6
6
  const graphql_upload_1 = require("graphql-upload");
7
7
  const utils_1 = require("./utils");
8
8
  const types_1 = require("./types");
9
- const descriptor_1 = require("ts-proto-descriptors/google/protobuf/descriptor");
10
- const _ = require("lodash");
9
+ const ts_proto_descriptors_1 = require("ts-proto-descriptors");
11
10
  exports.registeredTypings = new Map();
12
11
  exports.scalarTypes = ['Boolean', 'Int', 'Float', 'String', 'ID', 'Upload'];
13
12
  const typeNameAndNameSpaceMapping = new Map();
@@ -32,10 +31,10 @@ exports.clearRegistry = clearRegistry;
32
31
  const registerPackagesRecursive = (...protoMetadata) => {
33
32
  protoMetadata.forEach(meta => {
34
33
  var _a, _b;
35
- meta.dependencies && exports.registerPackagesRecursive(...meta.dependencies);
34
+ meta.dependencies && (0, exports.registerPackagesRecursive)(...meta.dependencies);
36
35
  meta.fileDescriptor.messageType && registerMessageTypesRecursive(meta.fileDescriptor.package, (_a = meta.fileDescriptor.service[0]) === null || _a === void 0 ? void 0 : _a.method, ...meta.fileDescriptor.messageType);
37
36
  (_b = meta.fileDescriptor.enumType) === null || _b === void 0 ? void 0 : _b.forEach((m) => {
38
- exports.registerEnumTyping(meta.fileDescriptor.package, m);
37
+ (0, exports.registerEnumTyping)(meta.fileDescriptor.package, m);
39
38
  });
40
39
  Object.keys(meta.references).forEach(key => {
41
40
  exports.registeredTypings.get(key).processor = meta.references[key];
@@ -57,9 +56,9 @@ const recursiveEnumCheck = (typeName, enumMap, prevFieldName, traversedFields) =
57
56
  if (typeName && typeName.startsWith('[') && typeName.endsWith('!]')) {
58
57
  typeName = typeName.substring(1, typeName.length - 2);
59
58
  }
60
- const objectNameSpace = exports.getNameSpaceTypeName(typeName);
59
+ const objectNameSpace = (0, exports.getNameSpaceTypeName)(typeName);
61
60
  if (objectNameSpace) {
62
- const objectType = exports.getTyping(objectNameSpace);
61
+ const objectType = (0, exports.getTyping)(objectNameSpace);
63
62
  if ((objectType === null || objectType === void 0 ? void 0 : objectType.input) && (registeredEnumTypes.indexOf(objectType.input.toString()) > -1)) {
64
63
  enumMap.set(objectType === null || objectType === void 0 ? void 0 : objectType.input.toString(), prevFieldName);
65
64
  prevFieldName = '';
@@ -81,13 +80,7 @@ const recursiveEnumCheck = (typeName, enumMap, prevFieldName, traversedFields) =
81
80
  // skip loop as this GQL type is already traversed
82
81
  continue;
83
82
  }
84
- if (!prevFieldName || _.isEmpty(prevFieldName)) {
85
- prevFieldName = fieldName;
86
- }
87
- if (prevFieldName && prevFieldName != fieldName) {
88
- fieldName = prevFieldName + '.' + fieldName;
89
- }
90
- exports.recursiveEnumCheck(fieldType, enumMap, fieldName, traversedFields);
83
+ (0, exports.recursiveEnumCheck)(fieldType, enumMap, fieldName, traversedFields);
91
84
  }
92
85
  }
93
86
  }
@@ -99,10 +92,10 @@ const recursiveEnumCheck = (typeName, enumMap, prevFieldName, traversedFields) =
99
92
  exports.recursiveEnumCheck = recursiveEnumCheck;
100
93
  const registerMessageTypesRecursive = (packageName, methodDef, ...types) => {
101
94
  types.forEach(m => {
102
- exports.registerTyping(packageName, m, methodDef);
95
+ (0, exports.registerTyping)(packageName, m, methodDef);
103
96
  if (m.enumType) {
104
97
  m.enumType.forEach((enumType) => {
105
- exports.registerEnumTyping(packageName + '.' + m.name, enumType);
98
+ (0, exports.registerEnumTyping)(packageName + '.' + m.name, enumType);
106
99
  });
107
100
  }
108
101
  if (m.nestedType) {
@@ -140,7 +133,7 @@ const registerTyping = (protoPackage, message, methodDef, opts, inputOpts) => {
140
133
  // TODO Log debug "Typings for object are already registered"
141
134
  return;
142
135
  }
143
- const name = (opts === null || opts === void 0 ? void 0 : opts.name) || utils_1.capitalizeProtoName(type);
136
+ const name = (opts === null || opts === void 0 ? void 0 : opts.name) || (0, utils_1.capitalizeProtoName)(type);
144
137
  const inputName = (inputOpts === null || inputOpts === void 0 ? void 0 : inputOpts.name) || 'I' + name;
145
138
  const fields = () => {
146
139
  var _a;
@@ -173,6 +166,13 @@ const registerTyping = (protoPackage, message, methodDef, opts, inputOpts) => {
173
166
  type: ModeType
174
167
  };
175
168
  }
169
+ // add scope to all mutations / queries
170
+ if (!result.scope) {
171
+ result['scope'] = {
172
+ description: 'target scope',
173
+ type: graphql_1.GraphQLString
174
+ };
175
+ }
176
176
  return result;
177
177
  };
178
178
  const resultObj = new graphql_1.GraphQLObjectType({
@@ -204,7 +204,7 @@ const registerEnumTyping = (protoPackage, message, opts) => {
204
204
  value: entry.number
205
205
  };
206
206
  });
207
- const name = (opts === null || opts === void 0 ? void 0 : opts.name) || utils_1.capitalizeProtoName(type);
207
+ const name = (opts === null || opts === void 0 ? void 0 : opts.name) || (0, utils_1.capitalizeProtoName)(type);
208
208
  const result = new definition_1.GraphQLEnumType({
209
209
  ...(opts || { name }),
210
210
  values
@@ -226,14 +226,14 @@ const resolveMeta = (key, field, rootObjType, objName, input) => {
226
226
  var _a;
227
227
  let result;
228
228
  switch (field.type) {
229
- case descriptor_1.FieldDescriptorProto_Type.TYPE_BOOL:
229
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_BOOL:
230
230
  result = graphql_1.GraphQLBoolean;
231
231
  break;
232
- case descriptor_1.FieldDescriptorProto_Type.TYPE_STRING:
232
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_STRING:
233
233
  result = graphql_1.GraphQLString;
234
234
  break;
235
- case descriptor_1.FieldDescriptorProto_Type.TYPE_ENUM:
236
- case descriptor_1.FieldDescriptorProto_Type.TYPE_MESSAGE:
235
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_ENUM:
236
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_MESSAGE:
237
237
  const objType = field.typeName;
238
238
  if (!exports.registeredTypings.has(objType)) {
239
239
  throw new Error("Typing '" + objType + "' not registered for key '" + key + "' in object: " + objName);
@@ -256,7 +256,7 @@ const resolveMeta = (key, field, rootObjType, objName, input) => {
256
256
  }
257
257
  result = typingData.input;
258
258
  break;
259
- case descriptor_1.FieldDescriptorProto_Type.TYPE_BYTES:
259
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_BYTES:
260
260
  if (input) {
261
261
  result = graphql_upload_1.GraphQLUpload;
262
262
  break;
@@ -264,30 +264,30 @@ const resolveMeta = (key, field, rootObjType, objName, input) => {
264
264
  // TODO Output Buffer
265
265
  result = TodoScalar;
266
266
  break;
267
- case descriptor_1.FieldDescriptorProto_Type.TYPE_INT32:
268
- case descriptor_1.FieldDescriptorProto_Type.TYPE_UINT32:
269
- case descriptor_1.FieldDescriptorProto_Type.TYPE_INT64:
270
- case descriptor_1.FieldDescriptorProto_Type.TYPE_UINT64:
271
- case descriptor_1.FieldDescriptorProto_Type.TYPE_SINT32:
272
- case descriptor_1.FieldDescriptorProto_Type.TYPE_SINT64:
267
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_INT32:
268
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_UINT32:
269
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_INT64:
270
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_UINT64:
271
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_SINT32:
272
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_SINT64:
273
273
  result = graphql_1.GraphQLInt;
274
274
  break;
275
- case descriptor_1.FieldDescriptorProto_Type.TYPE_DOUBLE:
276
- case descriptor_1.FieldDescriptorProto_Type.TYPE_FLOAT:
277
- case descriptor_1.FieldDescriptorProto_Type.TYPE_FIXED64:
278
- case descriptor_1.FieldDescriptorProto_Type.TYPE_FIXED32:
279
- case descriptor_1.FieldDescriptorProto_Type.TYPE_SFIXED32:
280
- case descriptor_1.FieldDescriptorProto_Type.TYPE_SFIXED64:
275
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_DOUBLE:
276
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_FLOAT:
277
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_FIXED64:
278
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_FIXED32:
279
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_SFIXED32:
280
+ case ts_proto_descriptors_1.FieldDescriptorProto_Type.TYPE_SFIXED64:
281
281
  result = graphql_1.GraphQLFloat;
282
282
  break;
283
283
  default:
284
284
  throw new Error("unknown typing type '" + field.type + "' for key '" + key + "' in: " + objName);
285
285
  }
286
- if (field.label === descriptor_1.FieldDescriptorProto_Label.LABEL_REPEATED) {
287
- result = graphql_1.GraphQLList(graphql_1.GraphQLNonNull(result));
286
+ if (field.label === ts_proto_descriptors_1.FieldDescriptorProto_Label.LABEL_REPEATED) {
287
+ result = new graphql_1.GraphQLList(new graphql_1.GraphQLNonNull(result));
288
288
  }
289
- if (field.label === descriptor_1.FieldDescriptorProto_Label.LABEL_REQUIRED) {
290
- result = graphql_1.GraphQLNonNull(result);
289
+ if (field.label === ts_proto_descriptors_1.FieldDescriptorProto_Label.LABEL_REQUIRED) {
290
+ result = new graphql_1.GraphQLNonNull(result);
291
291
  }
292
292
  return result;
293
293
  };
@@ -1,5 +1,5 @@
1
1
  import { GrpcClientConfig } from "@restorecommerce/grpc-client";
2
- import { FileDescriptorProto, ServiceDescriptorProto } from "ts-proto-descriptors/google/protobuf/descriptor";
2
+ import { FileDescriptorProto, ServiceDescriptorProto } from "ts-proto-descriptors";
3
3
  export declare const authSubjectType = ".io.restorecommerce.auth.Subject";
4
4
  export interface ProtoMetadata {
5
5
  fileDescriptor: FileDescriptorProto;
@@ -3,23 +3,9 @@ export declare const capitalizeProtoName: (name: string) => string;
3
3
  export declare const convertyCamelToSnakeCase: (entity: string) => string;
4
4
  export declare const getKeys: (obj: any) => string[];
5
5
  export declare const decodeBufferFields: (items: any, bufferFields: string[]) => any;
6
- interface EnumMetaData {
7
- name: string;
8
- number: number;
9
- options?: any;
10
- }
11
- /**
12
- * recursively find the path and updates the object with given value, this function
13
- * also takes care to handle if there is an array at any position in the path
14
- * @param path path in dot notation
15
- * @param val value to be updated in Object
16
- * @param obj Object
17
- */
18
- export declare const updateJSON: (path: string, val: EnumMetaData[], obj: any) => void;
19
6
  /**
20
7
  * converts enum string values to integers reading from the inputTyping
21
8
  * @param TypingData input typing
22
9
  * @param req request object from which the enum strings to be replaced
23
10
  */
24
11
  export declare const convertEnumToInt: (inputTyping: TypingData, req: any) => any;
25
- export {};