@revisium/endpoint 0.11.0-alpha.1 → 0.11.0-alpha.3

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 (132) hide show
  1. package/dist/endpoint-microservice/graphql/commands/handlers/create-graphql-endpoint.handler.d.ts +1 -0
  2. package/dist/endpoint-microservice/graphql/commands/handlers/create-graphql-endpoint.handler.js +11 -3
  3. package/dist/endpoint-microservice/graphql/commands/handlers/create-graphql-endpoint.handler.js.map +1 -1
  4. package/dist/endpoint-microservice/graphql/graphql-endpoint.service.js +9 -5
  5. package/dist/endpoint-microservice/graphql/graphql-endpoint.service.js.map +1 -1
  6. package/dist/endpoint-microservice/graphql/graphql-schema-converter/constants.d.ts +1 -0
  7. package/dist/endpoint-microservice/graphql/graphql-schema-converter/constants.js +5 -0
  8. package/dist/endpoint-microservice/graphql/graphql-schema-converter/constants.js.map +1 -0
  9. package/dist/endpoint-microservice/graphql/graphql-schema-converter/graphql-schema.converter.d.ts +29 -0
  10. package/dist/endpoint-microservice/graphql/graphql-schema-converter/graphql-schema.converter.js +204 -0
  11. package/dist/endpoint-microservice/graphql/graphql-schema-converter/graphql-schema.converter.js.map +1 -0
  12. package/dist/endpoint-microservice/graphql/graphql-schema-converter/types.d.ts +13 -0
  13. package/dist/endpoint-microservice/graphql/graphql-schema-converter/types.js +26 -0
  14. package/dist/endpoint-microservice/graphql/graphql-schema-converter/types.js.map +1 -0
  15. package/dist/endpoint-microservice/graphql/graphql-schema-converter/utils.d.ts +5 -0
  16. package/dist/endpoint-microservice/graphql/graphql-schema-converter/utils.js +38 -0
  17. package/dist/endpoint-microservice/graphql/graphql-schema-converter/utils.js.map +1 -0
  18. package/dist/endpoint-microservice/graphql/graphql.module.js +12 -1
  19. package/dist/endpoint-microservice/graphql/graphql.module.js.map +1 -1
  20. package/dist/endpoint-microservice/graphql/queries/handlers/get-graphql-schema.handler.d.ts +5 -14
  21. package/dist/endpoint-microservice/graphql/queries/handlers/get-graphql-schema.handler.js +21 -211
  22. package/dist/endpoint-microservice/graphql/queries/handlers/get-graphql-schema.handler.js.map +1 -1
  23. package/dist/endpoint-microservice/graphql/queries/impl/get-graphql-schema.query.d.ts +8 -0
  24. package/dist/endpoint-microservice/graphql/queries/impl/get-graphql-schema.query.js.map +1 -1
  25. package/dist/endpoint-microservice/restapi/commands/handlers/create-restapi-endpoint.handler.d.ts +1 -0
  26. package/dist/endpoint-microservice/restapi/commands/handlers/create-restapi-endpoint.handler.js +11 -3
  27. package/dist/endpoint-microservice/restapi/commands/handlers/create-restapi-endpoint.handler.js.map +1 -1
  28. package/dist/endpoint-microservice/restapi/queries/handlers/get-open-api-schema.handler.js +2 -2
  29. package/dist/endpoint-microservice/restapi/queries/handlers/get-open-api-schema.handler.js.map +1 -1
  30. package/dist/endpoint-microservice/shared/converter.d.ts +17 -0
  31. package/dist/endpoint-microservice/shared/{types/json-schema-type.js → converter.js} +1 -1
  32. package/dist/endpoint-microservice/shared/converter.js.map +1 -0
  33. package/dist/endpoint-microservice/shared/schema/index.d.ts +5 -0
  34. package/dist/endpoint-microservice/shared/schema/index.js +22 -0
  35. package/dist/endpoint-microservice/shared/schema/index.js.map +1 -0
  36. package/dist/endpoint-microservice/shared/schema/lib/createJsonSchemaStore.d.ts +5 -0
  37. package/dist/endpoint-microservice/shared/schema/lib/createJsonSchemaStore.js +56 -0
  38. package/dist/endpoint-microservice/shared/schema/lib/createJsonSchemaStore.js.map +1 -0
  39. package/dist/endpoint-microservice/shared/schema/lib/createJsonValueStore.d.ts +5 -0
  40. package/dist/endpoint-microservice/shared/schema/lib/createJsonValueStore.js +49 -0
  41. package/dist/endpoint-microservice/shared/schema/lib/createJsonValueStore.js.map +1 -0
  42. package/dist/endpoint-microservice/shared/schema/lib/index.d.ts +5 -0
  43. package/dist/endpoint-microservice/shared/schema/lib/index.js +22 -0
  44. package/dist/endpoint-microservice/shared/schema/lib/index.js.map +1 -0
  45. package/dist/endpoint-microservice/shared/schema/lib/resolveRefs.d.ts +3 -0
  46. package/dist/endpoint-microservice/shared/schema/lib/resolveRefs.js +15 -0
  47. package/dist/endpoint-microservice/shared/schema/lib/resolveRefs.js.map +1 -0
  48. package/dist/endpoint-microservice/shared/schema/lib/traverseStore.d.ts +2 -0
  49. package/dist/endpoint-microservice/shared/schema/lib/traverseStore.js +17 -0
  50. package/dist/endpoint-microservice/shared/schema/lib/traverseStore.js.map +1 -0
  51. package/dist/endpoint-microservice/shared/schema/lib/traverseValue.d.ts +2 -0
  52. package/dist/endpoint-microservice/shared/schema/lib/traverseValue.js +19 -0
  53. package/dist/endpoint-microservice/shared/schema/lib/traverseValue.js.map +1 -0
  54. package/dist/endpoint-microservice/shared/schema/model/index.d.ts +2 -0
  55. package/dist/endpoint-microservice/shared/schema/model/index.js +19 -0
  56. package/dist/endpoint-microservice/shared/schema/model/index.js.map +1 -0
  57. package/dist/endpoint-microservice/shared/schema/model/schema/index.d.ts +6 -0
  58. package/dist/endpoint-microservice/shared/schema/model/schema/index.js +23 -0
  59. package/dist/endpoint-microservice/shared/schema/model/schema/index.js.map +1 -0
  60. package/dist/endpoint-microservice/shared/schema/model/schema/json-array.store.d.ts +30 -0
  61. package/dist/endpoint-microservice/shared/schema/model/schema/json-array.store.js +74 -0
  62. package/dist/endpoint-microservice/shared/schema/model/schema/json-array.store.js.map +1 -0
  63. package/dist/endpoint-microservice/shared/schema/model/schema/json-boolean.store.d.ts +19 -0
  64. package/dist/endpoint-microservice/shared/schema/model/schema/json-boolean.store.js +44 -0
  65. package/dist/endpoint-microservice/shared/schema/model/schema/json-boolean.store.js.map +1 -0
  66. package/dist/endpoint-microservice/shared/schema/model/schema/json-number.store.d.ts +19 -0
  67. package/dist/endpoint-microservice/shared/schema/model/schema/json-number.store.js +44 -0
  68. package/dist/endpoint-microservice/shared/schema/model/schema/json-number.store.js.map +1 -0
  69. package/dist/endpoint-microservice/shared/schema/model/schema/json-object.store.d.ts +45 -0
  70. package/dist/endpoint-microservice/shared/schema/model/schema/json-object.store.js +146 -0
  71. package/dist/endpoint-microservice/shared/schema/model/schema/json-object.store.js.map +1 -0
  72. package/dist/endpoint-microservice/shared/schema/model/schema/json-schema.store.d.ts +3 -0
  73. package/dist/endpoint-microservice/shared/schema/model/schema/json-schema.store.js +3 -0
  74. package/dist/endpoint-microservice/shared/schema/model/schema/json-schema.store.js.map +1 -0
  75. package/dist/endpoint-microservice/shared/schema/model/schema/json-string.store.d.ts +20 -0
  76. package/dist/endpoint-microservice/shared/schema/model/schema/json-string.store.js +48 -0
  77. package/dist/endpoint-microservice/shared/schema/model/schema/json-string.store.js.map +1 -0
  78. package/dist/endpoint-microservice/shared/schema/model/value/index.d.ts +7 -0
  79. package/dist/endpoint-microservice/shared/schema/model/value/index.js +24 -0
  80. package/dist/endpoint-microservice/shared/schema/model/value/index.js.map +1 -0
  81. package/dist/endpoint-microservice/shared/schema/model/value/json-array-value.store.d.ts +15 -0
  82. package/dist/endpoint-microservice/shared/schema/model/value/json-array-value.store.js +47 -0
  83. package/dist/endpoint-microservice/shared/schema/model/value/json-array-value.store.js.map +1 -0
  84. package/dist/endpoint-microservice/shared/schema/model/value/json-boolean-value.store.d.ts +11 -0
  85. package/dist/endpoint-microservice/shared/schema/model/value/json-boolean-value.store.js +19 -0
  86. package/dist/endpoint-microservice/shared/schema/model/value/json-boolean-value.store.js.map +1 -0
  87. package/dist/endpoint-microservice/shared/schema/model/value/json-number-value.store.d.ts +11 -0
  88. package/dist/endpoint-microservice/shared/schema/model/value/json-number-value.store.js +19 -0
  89. package/dist/endpoint-microservice/shared/schema/model/value/json-number-value.store.js.map +1 -0
  90. package/dist/endpoint-microservice/shared/schema/model/value/json-object-value.store.d.ts +18 -0
  91. package/dist/endpoint-microservice/shared/schema/model/value/json-object-value.store.js +60 -0
  92. package/dist/endpoint-microservice/shared/schema/model/value/json-object-value.store.js.map +1 -0
  93. package/dist/endpoint-microservice/shared/schema/model/value/json-string-value.store.d.ts +12 -0
  94. package/dist/endpoint-microservice/shared/schema/model/value/json-string-value.store.js +22 -0
  95. package/dist/endpoint-microservice/shared/schema/model/value/json-string-value.store.js.map +1 -0
  96. package/dist/endpoint-microservice/shared/schema/model/value/json-value.store.d.ts +4 -0
  97. package/dist/endpoint-microservice/shared/schema/model/value/json-value.store.js +3 -0
  98. package/dist/endpoint-microservice/shared/schema/model/value/json-value.store.js.map +1 -0
  99. package/dist/endpoint-microservice/shared/schema/model/value/value-transformation.d.ts +13 -0
  100. package/dist/endpoint-microservice/shared/schema/model/value/value-transformation.js +110 -0
  101. package/dist/endpoint-microservice/shared/schema/model/value/value-transformation.js.map +1 -0
  102. package/dist/endpoint-microservice/shared/schema/plugins/file-schema.d.ts +4 -0
  103. package/dist/endpoint-microservice/shared/schema/plugins/file-schema.js +62 -0
  104. package/dist/endpoint-microservice/shared/schema/plugins/file-schema.js.map +1 -0
  105. package/dist/endpoint-microservice/shared/schema/plugins/index.d.ts +1 -0
  106. package/dist/endpoint-microservice/shared/schema/plugins/index.js +18 -0
  107. package/dist/endpoint-microservice/shared/schema/plugins/index.js.map +1 -0
  108. package/dist/endpoint-microservice/shared/schema/schema.mocks.d.ts +25 -0
  109. package/dist/endpoint-microservice/shared/schema/schema.mocks.js +65 -0
  110. package/dist/endpoint-microservice/shared/schema/schema.mocks.js.map +1 -0
  111. package/dist/endpoint-microservice/shared/schema/types/index.d.ts +3 -0
  112. package/dist/endpoint-microservice/shared/schema/types/index.js +20 -0
  113. package/dist/endpoint-microservice/shared/schema/types/index.js.map +1 -0
  114. package/dist/endpoint-microservice/shared/schema/types/json-patch.types.d.ts +21 -0
  115. package/dist/endpoint-microservice/shared/schema/types/json-patch.types.js +3 -0
  116. package/dist/endpoint-microservice/shared/schema/types/json-patch.types.js.map +1 -0
  117. package/dist/endpoint-microservice/shared/schema/types/json.types.d.ts +6 -0
  118. package/dist/endpoint-microservice/shared/schema/types/json.types.js +3 -0
  119. package/dist/endpoint-microservice/shared/schema/types/json.types.js.map +1 -0
  120. package/dist/endpoint-microservice/shared/schema/types/schema.types.d.ts +38 -0
  121. package/dist/endpoint-microservice/shared/schema/types/schema.types.js +12 -0
  122. package/dist/endpoint-microservice/shared/schema/types/schema.types.js.map +1 -0
  123. package/dist/endpoint-microservice/shared/schema-ids.consts.d.ts +3 -0
  124. package/dist/endpoint-microservice/shared/schema-ids.consts.js +8 -0
  125. package/dist/endpoint-microservice/shared/schema-ids.consts.js.map +1 -0
  126. package/dist/endpoint-microservice/shared/utils/stringUtils.d.ts +3 -0
  127. package/dist/endpoint-microservice/shared/utils/stringUtils.js +37 -0
  128. package/dist/endpoint-microservice/shared/utils/stringUtils.js.map +1 -0
  129. package/dist/tsconfig.build.tsbuildinfo +1 -1
  130. package/package.json +5 -2
  131. package/dist/endpoint-microservice/shared/types/json-schema-type.d.ts +0 -24
  132. package/dist/endpoint-microservice/shared/types/json-schema-type.js.map +0 -1
@@ -3,6 +3,7 @@ import { CreateGraphqlEndpointCommand } from '../../../../endpoint-microservice/
3
3
  import { GraphqlEndpointService } from '../../../../endpoint-microservice/graphql/graphql-endpoint.service';
4
4
  export declare class CreateGraphqlEndpointHandler implements ICommandHandler<CreateGraphqlEndpointCommand> {
5
5
  private readonly service;
6
+ private readonly logger;
6
7
  constructor(service: GraphqlEndpointService);
7
8
  execute({ endpointId, }: CreateGraphqlEndpointCommand): Promise<void>;
8
9
  }
@@ -8,24 +8,32 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var CreateGraphqlEndpointHandler_1;
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.CreateGraphqlEndpointHandler = void 0;
14
+ const common_1 = require("@nestjs/common");
13
15
  const cqrs_1 = require("@nestjs/cqrs");
14
16
  const impl_1 = require("../impl");
15
17
  const graphql_endpoint_service_1 = require("../../graphql-endpoint.service");
16
- let CreateGraphqlEndpointHandler = class CreateGraphqlEndpointHandler {
18
+ let CreateGraphqlEndpointHandler = CreateGraphqlEndpointHandler_1 = class CreateGraphqlEndpointHandler {
17
19
  constructor(service) {
18
20
  this.service = service;
21
+ this.logger = new common_1.Logger(CreateGraphqlEndpointHandler_1.name);
19
22
  }
20
23
  async execute({ endpointId, }) {
21
24
  if (this.service.existEndpoint(endpointId)) {
22
25
  throw new Error(`${endpointId} already exists`);
23
26
  }
24
- await this.service.runEndpoint(endpointId);
27
+ try {
28
+ await this.service.runEndpoint(endpointId);
29
+ }
30
+ catch (error) {
31
+ this.logger.error(error);
32
+ }
25
33
  }
26
34
  };
27
35
  exports.CreateGraphqlEndpointHandler = CreateGraphqlEndpointHandler;
28
- exports.CreateGraphqlEndpointHandler = CreateGraphqlEndpointHandler = __decorate([
36
+ exports.CreateGraphqlEndpointHandler = CreateGraphqlEndpointHandler = CreateGraphqlEndpointHandler_1 = __decorate([
29
37
  (0, cqrs_1.CommandHandler)(impl_1.CreateGraphqlEndpointCommand),
30
38
  __metadata("design:paramtypes", [graphql_endpoint_service_1.GraphqlEndpointService])
31
39
  ], CreateGraphqlEndpointHandler);
@@ -1 +1 @@
1
- {"version":3,"file":"create-graphql-endpoint.handler.js","sourceRoot":"","sources":["../../../../../src/endpoint-microservice/graphql/commands/handlers/create-graphql-endpoint.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA+D;AAC/D,kCAA+F;AAC/F,6EAAoG;AAG7F,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAGvC,YAAoC,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;IAAG,CAAC;IAEhE,KAAK,CAAC,OAAO,CAAC,EACnB,UAAU,GACmB;QAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,iBAAiB,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;CACF,CAAA;AAdY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,qBAAc,EAAC,mCAA4B,CAAC;qCAIE,iDAAsB;GAHxD,4BAA4B,CAcxC"}
1
+ {"version":3,"file":"create-graphql-endpoint.handler.js","sourceRoot":"","sources":["../../../../../src/endpoint-microservice/graphql/commands/handlers/create-graphql-endpoint.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAwC;AACxC,uCAA+D;AAC/D,kCAA+F;AAC/F,6EAAoG;AAG7F,IAAM,4BAA4B,oCAAlC,MAAM,4BAA4B;IAKvC,YAAoC,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;QAFlD,WAAM,GAAG,IAAI,eAAM,CAAC,8BAA4B,CAAC,IAAI,CAAC,CAAC;IAEF,CAAC;IAEhE,KAAK,CAAC,OAAO,CAAC,EACnB,UAAU,GACmB;QAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,iBAAiB,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF,CAAA;AApBY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,qBAAc,EAAC,mCAA4B,CAAC;qCAME,iDAAsB;GALxD,4BAA4B,CAoBxC"}
@@ -55,7 +55,13 @@ let GraphqlEndpointService = GraphqlEndpointService_1 = class GraphqlEndpointSer
55
55
  const dbEndpoint = await this.getDbEndpoint(endpointId);
56
56
  const { revision: { branch, ...revision }, } = dbEndpoint;
57
57
  const url = this.getUrl(branch.project.organizationId, branch.project.name, branch.name, this.getPostfix(revision));
58
- const apollo = await this._run(revision.id);
58
+ const apollo = await this._run({
59
+ projectId: branch.projectId,
60
+ projectName: branch.project.name,
61
+ endpointId,
62
+ isDraft: revision.isDraft,
63
+ revisionId: revision.id,
64
+ });
59
65
  this.startedEndpointIds.push(endpointId);
60
66
  this.map.set(url, {
61
67
  middleware: (0, express4_1.expressMiddleware)(apollo, {
@@ -68,10 +74,8 @@ let GraphqlEndpointService = GraphqlEndpointService_1 = class GraphqlEndpointSer
68
74
  });
69
75
  this.logger.log(`started endpoint name=${url} endpointId=${endpointId}`);
70
76
  }
71
- async _run(revisionId) {
72
- const graphqlSchema = await this.queryBus.execute(new impl_1.GetGraphqlSchemaQuery({
73
- revisionId,
74
- }));
77
+ async _run(options) {
78
+ const graphqlSchema = await this.queryBus.execute(new impl_1.GetGraphqlSchemaQuery(options));
75
79
  const tables = Object.keys(graphqlSchema.getQueryType().getFields()).filter((field) => field !== '_service');
76
80
  const table = tables[0] || 'Table';
77
81
  const server = new server_1.ApolloServer({
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-endpoint.service.js","sourceRoot":"","sources":["../../../src/endpoint-microservice/graphql/graphql-endpoint.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-endpoint.service.js","sourceRoot":"","sources":["../../../src/endpoint-microservice/graphql/graphql-endpoint.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const DEFAULT_FIRST = 100;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_FIRST = void 0;
4
+ exports.DEFAULT_FIRST = 100;
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/endpoint-microservice/graphql/graphql-schema-converter/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,GAAG,CAAC"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import { AsyncLocalStorage } from 'async_hooks';
3
+ import { GraphQLObjectType, GraphQLSchema } from 'graphql/type';
4
+ import { ProxyCoreApiService } from '../../../endpoint-microservice/core-api/proxy-core-api.service';
5
+ import { Converter, ConverterContextType } from '../../../endpoint-microservice/shared/converter';
6
+ interface GraphQLSchemaConverterContext extends ConverterContextType {
7
+ pageInfo: GraphQLObjectType;
8
+ }
9
+ export declare class GraphQLSchemaConverter implements Converter<GraphQLSchema> {
10
+ private readonly asyncLocalStorage;
11
+ private readonly proxyCoreApi;
12
+ private readonly logger;
13
+ constructor(asyncLocalStorage: AsyncLocalStorage<GraphQLSchemaConverterContext>, proxyCoreApi: ProxyCoreApiService);
14
+ convert(context: ConverterContextType): Promise<GraphQLSchema>;
15
+ private createSchema;
16
+ private createQueryFields;
17
+ private createListField;
18
+ private getListResolver;
19
+ private getListConnection;
20
+ private getListArgs;
21
+ private getEdgeType;
22
+ private getNodeType;
23
+ private getSchema;
24
+ private getObjectSchema;
25
+ private get projectName();
26
+ private toGraphQLError;
27
+ private get context();
28
+ }
29
+ export {};
@@ -0,0 +1,204 @@
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
+ var GraphQLSchemaConverter_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.GraphQLSchemaConverter = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const async_hooks_1 = require("async_hooks");
16
+ const error_1 = require("graphql/error");
17
+ const type_1 = require("graphql/type");
18
+ const utilities_1 = require("graphql/utilities");
19
+ const proxy_core_api_service_1 = require("../../core-api/proxy-core-api.service");
20
+ const constants_1 = require("./constants");
21
+ const types_1 = require("./types");
22
+ const utils_1 = require("./utils");
23
+ const stringUtils_1 = require("../../shared/utils/stringUtils");
24
+ let GraphQLSchemaConverter = GraphQLSchemaConverter_1 = class GraphQLSchemaConverter {
25
+ constructor(asyncLocalStorage, proxyCoreApi) {
26
+ this.asyncLocalStorage = asyncLocalStorage;
27
+ this.proxyCoreApi = proxyCoreApi;
28
+ this.logger = new common_1.Logger(GraphQLSchemaConverter_1.name);
29
+ }
30
+ async convert(context) {
31
+ const graphQLSchemaConverterContext = {
32
+ ...context,
33
+ pageInfo: (0, types_1.getPageInfoType)((0, utils_1.getProjectName)(context.projectName)),
34
+ };
35
+ return this.asyncLocalStorage.run(graphQLSchemaConverterContext, async () => {
36
+ const schema = await this.createSchema();
37
+ return (0, utilities_1.lexicographicSortSchema)(schema);
38
+ });
39
+ }
40
+ async createSchema() {
41
+ let cachedSdl = undefined;
42
+ const schema = new type_1.GraphQLSchema({
43
+ query: new type_1.GraphQLObjectType({
44
+ name: 'Query',
45
+ fields: {
46
+ ...this.createQueryFields(),
47
+ _service: {
48
+ type: types_1.ServiceType,
49
+ resolve: () => {
50
+ if (!cachedSdl) {
51
+ cachedSdl = (0, utilities_1.printSchema)(schema);
52
+ }
53
+ return { sdl: cachedSdl };
54
+ },
55
+ },
56
+ },
57
+ }),
58
+ });
59
+ return schema;
60
+ }
61
+ createQueryFields() {
62
+ const ids = this.context.tables.map((table) => table.id);
63
+ return this.context.tables
64
+ .filter((table) => !(0, utils_1.isEmptyObject)(table.schema))
65
+ .reduce((fields, table) => {
66
+ const safeName = (0, stringUtils_1.hasDuplicateKeyCaseInsensitive)(ids, table.id)
67
+ ? (0, utils_1.getSafetyName)(table.id, 'INVALID_TABLE_NAME')
68
+ : (0, utils_1.getSafetyName)(table.id.toLowerCase(), 'INVALID_TABLE_NAME');
69
+ const pluralName = (0, stringUtils_1.pluralize)(safeName);
70
+ const capitalizedSafeName = (0, stringUtils_1.hasDuplicateKeyCaseInsensitive)(ids, table.id)
71
+ ? safeName
72
+ : (0, stringUtils_1.capitalize)(safeName);
73
+ const pluralCapitalizedSafeName = (0, stringUtils_1.pluralize)(capitalizedSafeName);
74
+ fields[pluralName] = this.createListField(table, capitalizedSafeName, pluralCapitalizedSafeName);
75
+ return fields;
76
+ }, {});
77
+ }
78
+ createListField(table, safetyTableId, pluralSafetyTableId) {
79
+ const ConnectionType = this.getListConnection(table, safetyTableId, pluralSafetyTableId);
80
+ return {
81
+ type: new type_1.GraphQLNonNull(ConnectionType),
82
+ args: { data: { type: this.getListArgs(pluralSafetyTableId) } },
83
+ resolve: this.getListResolver(table),
84
+ };
85
+ }
86
+ getListResolver(table) {
87
+ const revisionId = this.context.revisionId;
88
+ return async (_, { data }, ctx) => {
89
+ const { data: response, error } = await this.proxyCoreApi.rows({
90
+ revisionId,
91
+ tableId: table.id,
92
+ first: data?.first || constants_1.DEFAULT_FIRST,
93
+ after: data?.after ?? undefined,
94
+ }, { headers: ctx.headers });
95
+ if (error)
96
+ throw this.toGraphQLError(error);
97
+ return response;
98
+ };
99
+ }
100
+ getListConnection(data, safetyTableId, pluralSafetyTableId) {
101
+ return new type_1.GraphQLObjectType({
102
+ name: `${this.projectName}${pluralSafetyTableId}Connection`,
103
+ fields: {
104
+ edges: {
105
+ type: new type_1.GraphQLNonNull(new type_1.GraphQLList(new type_1.GraphQLNonNull(this.getEdgeType(data, safetyTableId, pluralSafetyTableId)))),
106
+ },
107
+ pageInfo: { type: new type_1.GraphQLNonNull(this.context.pageInfo) },
108
+ totalCount: { type: new type_1.GraphQLNonNull(type_1.GraphQLFloat) },
109
+ },
110
+ });
111
+ }
112
+ getListArgs(name) {
113
+ return new type_1.GraphQLInputObjectType({
114
+ name: `${this.projectName}Get${name}Input`,
115
+ fields: {
116
+ first: { type: type_1.GraphQLFloat },
117
+ after: { type: type_1.GraphQLString },
118
+ },
119
+ });
120
+ }
121
+ getEdgeType(data, safetyTableId, pluralSafetyTableId) {
122
+ return new type_1.GraphQLObjectType({
123
+ name: `${this.projectName}${pluralSafetyTableId}Edge`,
124
+ fields: {
125
+ node: {
126
+ type: new type_1.GraphQLNonNull(this.getNodeType(data, safetyTableId, pluralSafetyTableId)),
127
+ },
128
+ cursor: { type: new type_1.GraphQLNonNull(type_1.GraphQLString) },
129
+ },
130
+ });
131
+ }
132
+ getNodeType(data, safetyTableId, pluralSafetyTableId) {
133
+ return new type_1.GraphQLObjectType({
134
+ name: `${this.projectName}${pluralSafetyTableId}Node`,
135
+ fields: () => ({
136
+ versionId: { type: new type_1.GraphQLNonNull(type_1.GraphQLString) },
137
+ id: { type: new type_1.GraphQLNonNull(type_1.GraphQLString) },
138
+ createdAt: { type: new type_1.GraphQLNonNull(types_1.DateTimeType) },
139
+ data: {
140
+ type: this.getSchema(`${this.projectName}${safetyTableId}`, data.schema),
141
+ },
142
+ }),
143
+ });
144
+ }
145
+ getSchema(name, schema, postfix = '') {
146
+ if ('$ref' in schema) {
147
+ throw new common_1.InternalServerErrorException(`endpointId: ${this.context.endpointId}, unssuported $ref in schema: ${JSON.stringify(schema)}`);
148
+ }
149
+ switch (schema.type) {
150
+ case 'string':
151
+ return new type_1.GraphQLNonNull(type_1.GraphQLString);
152
+ case 'number':
153
+ return new type_1.GraphQLNonNull(type_1.GraphQLFloat);
154
+ case 'boolean':
155
+ return new type_1.GraphQLNonNull(type_1.GraphQLBoolean);
156
+ case 'object':
157
+ return new type_1.GraphQLNonNull(this.getObjectSchema(`${name}${postfix}`, schema));
158
+ case 'array':
159
+ return new type_1.GraphQLNonNull(new type_1.GraphQLList(this.getSchema(`${name}${postfix}`, schema.items, 'Items')));
160
+ default:
161
+ throw new common_1.InternalServerErrorException(`endpointId: ${this.context.endpointId}, unknown schema: ${JSON.stringify(schema)}`);
162
+ }
163
+ }
164
+ getObjectSchema(name, schema) {
165
+ const ids = Object.keys(schema.properties);
166
+ return new type_1.GraphQLObjectType({
167
+ name,
168
+ fields: () => Object.entries(schema.properties).reduce((fields, [key, itemSchema]) => {
169
+ if (!(0, utils_1.isValidName)(key)) {
170
+ return fields;
171
+ }
172
+ const capitalizedSafetyKey = (0, stringUtils_1.hasDuplicateKeyCaseInsensitive)(ids, key)
173
+ ? key
174
+ : (0, stringUtils_1.capitalize)(key);
175
+ const type = this.getSchema(`${name}${capitalizedSafetyKey}`, itemSchema);
176
+ fields[key] = { type };
177
+ return fields;
178
+ }, {}),
179
+ });
180
+ }
181
+ get projectName() {
182
+ return (0, utils_1.getProjectName)(this.context.projectName);
183
+ }
184
+ toGraphQLError(err) {
185
+ this.logger.error(err);
186
+ return new error_1.GraphQLError(err.message, {
187
+ extensions: { code: err.error, originalError: err },
188
+ });
189
+ }
190
+ get context() {
191
+ const context = this.asyncLocalStorage.getStore();
192
+ if (!context) {
193
+ throw new common_1.InternalServerErrorException('GraphQLSchemaConverterContext not found. It appears that an attempt was made to access a context outside of AsyncLocalStorage.run.');
194
+ }
195
+ return context;
196
+ }
197
+ };
198
+ exports.GraphQLSchemaConverter = GraphQLSchemaConverter;
199
+ exports.GraphQLSchemaConverter = GraphQLSchemaConverter = GraphQLSchemaConverter_1 = __decorate([
200
+ (0, common_1.Injectable)(),
201
+ __metadata("design:paramtypes", [async_hooks_1.AsyncLocalStorage,
202
+ proxy_core_api_service_1.ProxyCoreApiService])
203
+ ], GraphQLSchemaConverter);
204
+ //# sourceMappingURL=graphql-schema.converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-schema.converter.js","sourceRoot":"","sources":["../../../../src/endpoint-microservice/graphql/graphql-schema-converter/graphql-schema.converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { GraphQLObjectType, GraphQLScalarType } from 'graphql/type';
2
+ export declare const getPageInfoType: (projectName: string) => GraphQLObjectType<any, any>;
3
+ export declare const DateTimeType: GraphQLScalarType<unknown, unknown>;
4
+ export declare const ServiceType: GraphQLObjectType<any, any>;
5
+ export type InputType = {
6
+ data?: {
7
+ first?: number;
8
+ after?: string;
9
+ };
10
+ };
11
+ export type ContextType = {
12
+ headers: Record<string, string>;
13
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceType = exports.DateTimeType = exports.getPageInfoType = void 0;
4
+ const type_1 = require("graphql/type");
5
+ const getPageInfoType = (projectName) => {
6
+ return new type_1.GraphQLObjectType({
7
+ name: `${projectName}PageInfo`,
8
+ fields: {
9
+ startCursor: { type: type_1.GraphQLString },
10
+ endCursor: { type: type_1.GraphQLString },
11
+ hasNextPage: { type: new type_1.GraphQLNonNull(type_1.GraphQLBoolean) },
12
+ hasPreviousPage: { type: new type_1.GraphQLNonNull(type_1.GraphQLBoolean) },
13
+ },
14
+ });
15
+ };
16
+ exports.getPageInfoType = getPageInfoType;
17
+ exports.DateTimeType = new type_1.GraphQLScalarType({
18
+ name: 'DataTime',
19
+ });
20
+ exports.ServiceType = new type_1.GraphQLObjectType({
21
+ name: '_Service',
22
+ fields: {
23
+ sdl: { type: type_1.GraphQLString },
24
+ },
25
+ });
26
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/endpoint-microservice/graphql/graphql-schema-converter/types.ts"],"names":[],"mappings":";;;AAAA,uCAMsB;AAEf,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAE,EAAE;IACrD,OAAO,IAAI,wBAAiB,CAAC;QAC3B,IAAI,EAAE,GAAG,WAAW,UAAU;QAC9B,MAAM,EAAE;YACN,WAAW,EAAE,EAAE,IAAI,EAAE,oBAAa,EAAE;YACpC,SAAS,EAAE,EAAE,IAAI,EAAE,oBAAa,EAAE;YAClC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,qBAAc,CAAC,qBAAc,CAAC,EAAE;YACzD,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,qBAAc,CAAC,qBAAc,CAAC,EAAE;SAC9D;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B;AAEW,QAAA,YAAY,GAAG,IAAI,wBAAiB,CAAC;IAChD,IAAI,EAAE,UAAU;CACjB,CAAC,CAAC;AAEU,QAAA,WAAW,GAAG,IAAI,wBAAiB,CAAC;IAC/C,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE;QACN,GAAG,EAAE,EAAE,IAAI,EAAE,oBAAa,EAAE;KAC7B;CACF,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { JsonSchema } from '../../../endpoint-microservice/shared/schema';
2
+ export declare const isEmptyObject: (schema: JsonSchema) => boolean;
3
+ export declare const isValidName: (name: string) => boolean;
4
+ export declare const getSafetyName: (name: string, prefix: string) => string;
5
+ export declare const getProjectName: (projectName: string) => string;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProjectName = exports.getSafetyName = exports.isValidName = exports.isEmptyObject = void 0;
4
+ const stringUtils_1 = require("../../shared/utils/stringUtils");
5
+ const isEmptyObject = (schema) => {
6
+ if ('$ref' in schema) {
7
+ return false;
8
+ }
9
+ if (schema.type === 'object' && !Object.keys(schema.properties).length) {
10
+ return true;
11
+ }
12
+ if (schema.type === 'array') {
13
+ return (0, exports.isEmptyObject)(schema.items);
14
+ }
15
+ return false;
16
+ };
17
+ exports.isEmptyObject = isEmptyObject;
18
+ const startName = /[_a-zA-Z]/;
19
+ const containName = /^\w+$/;
20
+ const isValidName = (name) => {
21
+ return startName.test(name[0]) && containName.test(name);
22
+ };
23
+ exports.isValidName = isValidName;
24
+ const getSafetyName = (name, prefix) => {
25
+ if (!startName.test(name[0])) {
26
+ return (0, exports.getSafetyName)(`${prefix}_${name}`, prefix);
27
+ }
28
+ if (!containName.test(name)) {
29
+ return (0, exports.getSafetyName)(name.replace(/\W/g, '_'), prefix);
30
+ }
31
+ return name;
32
+ };
33
+ exports.getSafetyName = getSafetyName;
34
+ const getProjectName = (projectName) => {
35
+ return (0, exports.getSafetyName)((0, stringUtils_1.capitalize)(projectName), 'INVALID_PROJECT_NAME');
36
+ };
37
+ exports.getProjectName = getProjectName;
38
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/endpoint-microservice/graphql/graphql-schema-converter/utils.ts"],"names":[],"mappings":";;;AACA,gEAAgF;AAEzE,MAAM,aAAa,GAAG,CAAC,MAAkB,EAAW,EAAE;IAC3D,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,IAAA,qBAAa,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAdW,QAAA,aAAa,iBAcxB;AAEF,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,WAAW,GAAG,OAAO,CAAC;AAErB,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE;IACnD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAEK,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,MAAc,EAAU,EAAE;IACpE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAA,qBAAa,EAAC,GAAG,MAAM,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAA,qBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB;AAEK,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,EAAE;IACpD,OAAO,IAAA,qBAAa,EAAC,IAAA,wBAAU,EAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC,CAAC;AACxE,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
@@ -9,11 +9,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.GraphqlModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const cqrs_1 = require("@nestjs/cqrs");
12
+ const async_hooks_1 = require("async_hooks");
12
13
  const core_api_module_1 = require("../core-api/core-api.module");
13
14
  const database_module_1 = require("../database/database.module");
14
15
  const handlers_1 = require("./commands/handlers");
15
16
  const graphql_endpoint_controller_1 = require("./graphql-endpoint.controller");
16
17
  const graphql_endpoint_service_1 = require("./graphql-endpoint.service");
18
+ const graphql_schema_converter_1 = require("./graphql-schema-converter/graphql-schema.converter");
17
19
  const handlers_2 = require("./queries/handlers");
18
20
  const metrics_module_1 = require("../metrics/metrics.module");
19
21
  let GraphqlModule = class GraphqlModule {
@@ -22,7 +24,16 @@ exports.GraphqlModule = GraphqlModule;
22
24
  exports.GraphqlModule = GraphqlModule = __decorate([
23
25
  (0, common_1.Module)({
24
26
  imports: [cqrs_1.CqrsModule, database_module_1.DatabaseModule, core_api_module_1.CoreApiModule, metrics_module_1.MetricsModule],
25
- providers: [graphql_endpoint_service_1.GraphqlEndpointService, ...handlers_1.GRAPHQL_COMMANDS, ...handlers_2.GRAPHQL_QUERIES],
27
+ providers: [
28
+ {
29
+ provide: async_hooks_1.AsyncLocalStorage,
30
+ useValue: new async_hooks_1.AsyncLocalStorage(),
31
+ },
32
+ graphql_schema_converter_1.GraphQLSchemaConverter,
33
+ graphql_endpoint_service_1.GraphqlEndpointService,
34
+ ...handlers_1.GRAPHQL_COMMANDS,
35
+ ...handlers_2.GRAPHQL_QUERIES,
36
+ ],
26
37
  controllers: [graphql_endpoint_controller_1.GraphqlEndpointController],
27
38
  })
28
39
  ], GraphqlModule);
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.module.js","sourceRoot":"","sources":["../../../src/endpoint-microservice/graphql/graphql.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uCAA0C;AAC1C,iEAAmF;AACnF,iEAAoF;AACpF,kDAAuF;AACvF,+EAA0G;AAC1G,yEAAoG;AACpG,iDAAqF;AACrF,8DAAiF;AAO1E,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IALzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,iBAAU,EAAE,gCAAc,EAAE,+BAAa,EAAE,8BAAa,CAAC;QACnE,SAAS,EAAE,CAAC,iDAAsB,EAAE,GAAG,2BAAgB,EAAE,GAAG,0BAAe,CAAC;QAC5E,WAAW,EAAE,CAAC,uDAAyB,CAAC;KACzC,CAAC;GACW,aAAa,CAAG"}
1
+ {"version":3,"file":"graphql.module.js","sourceRoot":"","sources":["../../../src/endpoint-microservice/graphql/graphql.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uCAA0C;AAC1C,6CAAgD;AAChD,iEAAmF;AACnF,iEAAoF;AACpF,kDAAuF;AACvF,+EAA0G;AAC1G,yEAAoG;AACpG,kGAA6H;AAC7H,iDAAqF;AACrF,8DAAiF;AAgB1E,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAdzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,iBAAU,EAAE,gCAAc,EAAE,+BAAa,EAAE,8BAAa,CAAC;QACnE,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,+BAAiB;gBAC1B,QAAQ,EAAE,IAAI,+BAAiB,EAAE;aAClC;YACD,iDAAsB;YACtB,iDAAsB;YACtB,GAAG,2BAAgB;YACnB,GAAG,0BAAe;SACnB;QACD,WAAW,EAAE,CAAC,uDAAyB,CAAC;KACzC,CAAC;GACW,aAAa,CAAG"}
@@ -1,27 +1,18 @@
1
1
  import { IQueryHandler } from '@nestjs/cqrs';
2
2
  import { GraphQLSchema } from 'graphql/type';
3
3
  import { InternalCoreApiService } from '../../../../endpoint-microservice/core-api/internal-core-api.service';
4
- import { ProxyCoreApiService } from '../../../../endpoint-microservice/core-api/proxy-core-api.service';
4
+ import { GraphQLSchemaConverter } from '../../../../endpoint-microservice/graphql/graphql-schema-converter/graphql-schema.converter';
5
5
  import { GetGraphqlSchemaQuery } from '../../../../endpoint-microservice/graphql/queries/impl';
6
- import { JsonSchemaType } from '../../../../endpoint-microservice/shared/types/json-schema-type';
6
+ import { JsonSchema } from '../../../../endpoint-microservice/shared/schema';
7
7
  export type GetJsonSchemasReturnType = {
8
8
  id: string;
9
9
  versionId: string;
10
- data: JsonSchemaType;
10
+ data: JsonSchema;
11
11
  }[];
12
12
  export declare class GetGraphqlSchemaHandler implements IQueryHandler<GetGraphqlSchemaQuery> {
13
13
  private readonly internalCoreApi;
14
- private readonly proxyCoreApi;
15
- private readonly logger;
16
- constructor(internalCoreApi: InternalCoreApiService, proxyCoreApi: ProxyCoreApiService);
14
+ private readonly converter;
15
+ constructor(internalCoreApi: InternalCoreApiService, converter: GraphQLSchemaConverter);
17
16
  execute({ data, }: GetGraphqlSchemaQuery): Promise<GraphQLSchema>;
18
- private getNodeType;
19
- private getEdgeType;
20
- private getTableConnection;
21
- private getTableInput;
22
- private getQueryFields;
23
- private getRootSchema;
24
- private getArrayItems;
25
- private getObjectSchema;
26
17
  private getSchemas;
27
18
  }