@subsquid/openreader 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/lib/context.d.ts +5 -2
  2. package/lib/context.d.ts.map +1 -1
  3. package/lib/ir/args.d.ts +1 -1
  4. package/lib/ir/args.d.ts.map +1 -1
  5. package/lib/ir/connection.d.ts +3 -4
  6. package/lib/ir/connection.d.ts.map +1 -1
  7. package/lib/ir/connection.js.map +1 -1
  8. package/lib/ir/fields.d.ts +6 -2
  9. package/lib/ir/fields.d.ts.map +1 -1
  10. package/lib/ir/fields.js +15 -0
  11. package/lib/ir/fields.js.map +1 -1
  12. package/lib/limit.size.d.ts +7 -2
  13. package/lib/limit.size.d.ts.map +1 -1
  14. package/lib/limit.size.js +106 -12
  15. package/lib/limit.size.js.map +1 -1
  16. package/lib/main.js +6 -9
  17. package/lib/main.js.map +1 -1
  18. package/lib/model.d.ts +3 -1
  19. package/lib/model.d.ts.map +1 -1
  20. package/lib/model.schema.d.ts +2 -2
  21. package/lib/model.schema.d.ts.map +1 -1
  22. package/lib/model.schema.js +29 -7
  23. package/lib/model.schema.js.map +1 -1
  24. package/lib/model.tools.d.ts +6 -1
  25. package/lib/model.tools.d.ts.map +1 -1
  26. package/lib/model.tools.js +111 -8
  27. package/lib/model.tools.js.map +1 -1
  28. package/lib/opencrud/orderBy.d.ts +2 -2
  29. package/lib/opencrud/orderBy.d.ts.map +1 -1
  30. package/lib/opencrud/orderBy.js +13 -17
  31. package/lib/opencrud/orderBy.js.map +1 -1
  32. package/lib/opencrud/schema.d.ts +4 -4
  33. package/lib/opencrud/schema.d.ts.map +1 -1
  34. package/lib/opencrud/schema.js +60 -64
  35. package/lib/opencrud/schema.js.map +1 -1
  36. package/lib/opencrud/tree.d.ts +9 -7
  37. package/lib/opencrud/tree.d.ts.map +1 -1
  38. package/lib/opencrud/tree.js +32 -14
  39. package/lib/opencrud/tree.js.map +1 -1
  40. package/lib/server.d.ts +16 -12
  41. package/lib/server.d.ts.map +1 -1
  42. package/lib/server.js +29 -4
  43. package/lib/server.js.map +1 -1
  44. package/lib/sql/cursor.js +2 -2
  45. package/lib/sql/cursor.js.map +1 -1
  46. package/lib/sql/mapping.d.ts +3 -1
  47. package/lib/sql/mapping.d.ts.map +1 -1
  48. package/lib/sql/mapping.js +16 -1
  49. package/lib/sql/mapping.js.map +1 -1
  50. package/lib/sql/printer.d.ts +29 -11
  51. package/lib/sql/printer.d.ts.map +1 -1
  52. package/lib/sql/printer.js +106 -10
  53. package/lib/sql/printer.js.map +1 -1
  54. package/lib/sql/query.d.ts +11 -11
  55. package/lib/sql/query.d.ts.map +1 -1
  56. package/lib/sql/query.js +41 -19
  57. package/lib/sql/query.js.map +1 -1
  58. package/lib/test/limits.test.d.ts +2 -0
  59. package/lib/test/limits.test.d.ts.map +1 -0
  60. package/lib/test/limits.test.js +159 -0
  61. package/lib/test/limits.test.js.map +1 -0
  62. package/lib/test/queryable.test.d.ts +2 -0
  63. package/lib/test/queryable.test.d.ts.map +1 -0
  64. package/lib/test/queryable.test.js +255 -0
  65. package/lib/test/queryable.test.js.map +1 -0
  66. package/lib/test/setup.d.ts +2 -1
  67. package/lib/test/setup.d.ts.map +1 -1
  68. package/lib/test/setup.js +5 -2
  69. package/lib/test/setup.js.map +1 -1
  70. package/lib/util/execute.d.ts +5 -0
  71. package/lib/util/execute.d.ts.map +1 -0
  72. package/lib/util/execute.js +28 -0
  73. package/lib/util/execute.js.map +1 -0
  74. package/lib/util/limit.d.ts +11 -0
  75. package/lib/util/limit.d.ts.map +1 -0
  76. package/lib/util/limit.js +39 -0
  77. package/lib/util/limit.js.map +1 -0
  78. package/package.json +3 -3
  79. package/src/context.ts +5 -2
  80. package/src/ir/args.ts +1 -1
  81. package/src/ir/connection.ts +3 -4
  82. package/src/ir/fields.ts +22 -2
  83. package/src/limit.size.ts +122 -13
  84. package/src/main.ts +18 -20
  85. package/src/model.schema.ts +40 -13
  86. package/src/model.tools.ts +121 -8
  87. package/src/model.ts +3 -1
  88. package/src/opencrud/orderBy.ts +13 -17
  89. package/src/opencrud/schema.ts +86 -85
  90. package/src/opencrud/tree.ts +55 -26
  91. package/src/server.ts +66 -26
  92. package/src/sql/cursor.ts +2 -2
  93. package/src/sql/mapping.ts +18 -1
  94. package/src/sql/printer.ts +137 -21
  95. package/src/sql/query.ts +50 -30
  96. package/src/test/limits.test.ts +163 -0
  97. package/src/test/queryable.test.ts +258 -0
  98. package/src/test/setup.ts +6 -3
  99. package/src/util/execute.ts +53 -0
  100. package/src/util/limit.ts +34 -0
@@ -16,6 +16,7 @@ const apollo_server_core_1 = require("apollo-server-core");
16
16
  const assert_1 = __importDefault(require("assert"));
17
17
  const graphql_1 = require("graphql");
18
18
  const connection_1 = require("../ir/connection");
19
+ const limit_size_1 = require("../limit.size");
19
20
  const model_tools_1 = require("../model.tools");
20
21
  const scalars_1 = require("../scalars");
21
22
  const query_1 = require("../sql/query");
@@ -77,7 +78,8 @@ class SchemaBuilder {
77
78
  return new graphql_1.GraphQLInterfaceType({
78
79
  name,
79
80
  description: item.description,
80
- fields: () => this.buildObjectFields(item)
81
+ fields: () => this.buildObjectFields(item),
82
+ resolveType: item.queryable ? (value) => value._isTypeOf : undefined
81
83
  });
82
84
  case "enum":
83
85
  return new graphql_1.GraphQLEnumType({
@@ -110,7 +112,7 @@ class SchemaBuilder {
110
112
  type: this.getPropType(prop)
111
113
  };
112
114
  if (prop.type.kind == 'list-lookup') {
113
- field.args = this.entityListArguments(prop.type.entity);
115
+ field.args = this.listArguments(prop.type.entity);
114
116
  }
115
117
  if (object.kind == 'entity' || object.kind == 'object') {
116
118
  switch (prop.type.kind) {
@@ -134,7 +136,7 @@ class SchemaBuilder {
134
136
  type = new graphql_1.GraphQLList(this.getPropType(prop.type.item));
135
137
  break;
136
138
  case "fk":
137
- type = this.get(prop.type.foreignEntity);
139
+ type = this.get(prop.type.entity);
138
140
  break;
139
141
  case "lookup":
140
142
  return this.get(prop.type.entity);
@@ -148,43 +150,29 @@ class SchemaBuilder {
148
150
  }
149
151
  return type;
150
152
  }
151
- entityListArguments(entityName) {
153
+ listArguments(typeName) {
152
154
  return {
153
- where: { type: this.getWhere(entityName) },
154
- orderBy: { type: this.getOrderBy(entityName) },
155
+ where: { type: this.getWhere(typeName) },
156
+ orderBy: { type: this.getOrderBy(typeName) },
155
157
  offset: { type: graphql_1.GraphQLInt },
156
158
  limit: { type: graphql_1.GraphQLInt }
157
159
  };
158
160
  }
159
- getWhere(name) {
160
- let where = this.where.get(name);
161
+ getWhere(typeName) {
162
+ let where = this.where.get(typeName);
161
163
  if (where)
162
164
  return where;
163
- const object = this.model[name];
164
- switch (object.kind) {
165
- case "entity":
166
- case "object":
167
- case "union":
168
- break;
169
- default:
170
- throw (0, util_internal_1.unexpectedCase)(object.kind);
171
- }
165
+ let object = this.model[typeName];
166
+ let properties = (0, model_tools_1.getUniversalProperties)(this.model, typeName);
172
167
  where = new graphql_1.GraphQLInputObjectType({
173
- name: `${name}WhereInput`,
168
+ name: `${typeName}WhereInput`,
174
169
  fields: () => {
175
170
  let fields = {};
176
- let properties;
177
- if (object.kind == 'union') {
178
- properties = (0, model_tools_1.getUnionProps)(this.model, name).properties;
179
- }
180
- else {
181
- properties = object.properties;
182
- }
183
171
  for (let key in properties) {
184
172
  this.buildPropWhereFilters(key, properties[key], fields);
185
173
  }
186
- if (object.kind == 'entity') {
187
- let whereList = new graphql_1.GraphQLList(new graphql_1.GraphQLNonNull(this.getWhere(name)));
174
+ if (object.kind == 'entity' || object.kind == 'interface') {
175
+ let whereList = new graphql_1.GraphQLList(new graphql_1.GraphQLNonNull(this.getWhere(typeName)));
188
176
  fields['AND'] = {
189
177
  type: whereList
190
178
  };
@@ -195,7 +183,7 @@ class SchemaBuilder {
195
183
  return fields;
196
184
  }
197
185
  });
198
- this.where.set(name, where);
186
+ this.where.set(typeName, where);
199
187
  return where;
200
188
  }
201
189
  buildPropWhereFilters(key, prop, fields) {
@@ -268,10 +256,8 @@ class SchemaBuilder {
268
256
  fields[key] = { type: this.getWhere(prop.type.name) };
269
257
  break;
270
258
  case "fk":
271
- fields[`${key}_isNull`] = { type: graphql_1.GraphQLBoolean };
272
- fields[key] = { type: this.getWhere(prop.type.foreignEntity) };
273
- break;
274
259
  case "lookup":
260
+ fields[`${key}_isNull`] = { type: graphql_1.GraphQLBoolean };
275
261
  fields[key] = { type: this.getWhere(prop.type.entity) };
276
262
  break;
277
263
  case "list-lookup": {
@@ -301,19 +287,19 @@ class SchemaBuilder {
301
287
  }
302
288
  return false;
303
289
  }
304
- getOrderBy(entityName) {
305
- let orderBy = this.orderBy.get(entityName);
290
+ getOrderBy(typeName) {
291
+ let orderBy = this.orderBy.get(typeName);
306
292
  if (orderBy)
307
293
  return orderBy;
308
294
  let values = {};
309
- for (let variant of (0, orderBy_1.getOrderByMapping)(this.model, entityName).keys()) {
295
+ for (let variant of (0, orderBy_1.getOrderByMapping)(this.model, typeName).keys()) {
310
296
  values[variant] = {};
311
297
  }
312
298
  orderBy = new graphql_1.GraphQLList(new graphql_1.GraphQLNonNull(new graphql_1.GraphQLEnumType({
313
- name: `${entityName}OrderByInput`,
299
+ name: `${typeName}OrderByInput`,
314
300
  values
315
301
  })));
316
- this.orderBy.set(entityName, orderBy);
302
+ this.orderBy.set(typeName, orderBy);
317
303
  return orderBy;
318
304
  }
319
305
  build() {
@@ -323,11 +309,17 @@ class SchemaBuilder {
323
309
  let item = this.model[name];
324
310
  switch (item.kind) {
325
311
  case "entity":
326
- this.installEntityList(name, query, subscription);
312
+ this.installListQuery(name, query, subscription);
327
313
  this.installEntityById(name, query, subscription);
328
314
  this.installEntityByUniqueInput(name, query);
329
315
  this.installRelayConnection(name, query);
330
316
  break;
317
+ case 'interface':
318
+ if (item.queryable) {
319
+ this.installListQuery(name, query, subscription);
320
+ this.installRelayConnection(name, query);
321
+ }
322
+ break;
331
323
  }
332
324
  }
333
325
  return new graphql_1.GraphQLSchema({
@@ -341,22 +333,23 @@ class SchemaBuilder {
341
333
  }) : undefined
342
334
  });
343
335
  }
344
- installEntityList(entityName, query, subscription) {
336
+ installListQuery(typeName, query, subscription) {
345
337
  let model = this.model;
346
- let queryName = (0, util_naming_1.toPlural)((0, util_naming_1.toCamelCase)(entityName));
347
- let outputType = new graphql_1.GraphQLList(new graphql_1.GraphQLNonNull(this.get(entityName)));
348
- let argsType = this.entityListArguments(entityName);
349
- function createQuery(context, info) {
338
+ let queryName = (0, util_naming_1.toPlural)((0, util_naming_1.toCamelCase)(typeName));
339
+ let outputType = new graphql_1.GraphQLNonNull(new graphql_1.GraphQLList(new graphql_1.GraphQLNonNull(this.get(typeName))));
340
+ let argsType = this.listArguments(typeName);
341
+ function createQuery(context, info, limit) {
350
342
  let tree = (0, resolve_tree_1.getResolveTree)(info);
351
- let fields = (0, tree_1.parseResolveTree)(model, entityName, info.schema, tree);
352
- let args = (0, tree_1.parseEntityListArguments)(model, entityName, tree.args);
353
- return new query_1.EntityListQuery(model, context.openreader.dialect, entityName, fields, args);
343
+ let args = (0, tree_1.parseSqlArguments)(model, typeName, tree.args);
344
+ let fields = (0, tree_1.parseAnyTree)(model, typeName, info.schema, tree);
345
+ limit?.check(() => (0, limit_size_1.getListSize)(model, typeName, fields, args.limit, args.where) + 1);
346
+ return new query_1.ListQuery(model, context.openreader.dialect, typeName, fields, args);
354
347
  }
355
348
  query[queryName] = {
356
349
  type: outputType,
357
350
  args: argsType,
358
351
  resolve(source, args, context, info) {
359
- let q = createQuery(context, info);
352
+ let q = createQuery(context, info, context.openreader.responseSizeLimit);
360
353
  return context.openreader.executeQuery(q);
361
354
  }
362
355
  };
@@ -365,7 +358,7 @@ class SchemaBuilder {
365
358
  args: argsType,
366
359
  resolve: util_1.identity,
367
360
  subscribe(source, args, context, info) {
368
- let q = createQuery(context, info);
361
+ let q = createQuery(context, info, context.openreader.subscriptionResponseSizeLimit);
369
362
  return context.openreader.subscription(q);
370
363
  }
371
364
  };
@@ -376,16 +369,17 @@ class SchemaBuilder {
376
369
  let argsType = {
377
370
  id: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLString) }
378
371
  };
379
- function createQuery(context, info) {
372
+ function createQuery(context, info, limit) {
380
373
  let tree = (0, resolve_tree_1.getResolveTree)(info);
381
- let fields = (0, tree_1.parseResolveTree)(model, entityName, info.schema, tree);
374
+ let fields = (0, tree_1.parseObjectTree)(model, entityName, info.schema, tree);
375
+ limit?.check(() => (0, limit_size_1.getObjectSize)(model, fields) + 1);
382
376
  return new query_1.EntityByIdQuery(model, context.openreader.dialect, entityName, fields, tree.args.id);
383
377
  }
384
378
  query[queryName] = {
385
379
  type: this.get(entityName),
386
380
  args: argsType,
387
381
  async resolve(source, args, context, info) {
388
- let q = createQuery(context, info);
382
+ let q = createQuery(context, info, context.openreader.responseSizeLimit);
389
383
  return context.openreader.executeQuery(q);
390
384
  }
391
385
  };
@@ -394,7 +388,7 @@ class SchemaBuilder {
394
388
  args: argsType,
395
389
  resolve: util_1.identity,
396
390
  subscribe(source, args, context, info) {
397
- let q = createQuery(context, info);
391
+ let q = createQuery(context, info, context.openreader.subscriptionResponseSizeLimit);
398
392
  return context.openreader.subscription(q);
399
393
  }
400
394
  };
@@ -409,19 +403,20 @@ class SchemaBuilder {
409
403
  },
410
404
  async resolve(source, args, context, info) {
411
405
  let tree = (0, resolve_tree_1.getResolveTree)(info);
412
- let fields = (0, tree_1.parseResolveTree)(model, entityName, info.schema, tree);
413
- let query = new query_1.EntityListQuery(model, context.openreader.dialect, entityName, fields, { where: { op: 'eq', field: 'id', value: args.where.id } });
406
+ let fields = (0, tree_1.parseObjectTree)(model, entityName, info.schema, tree);
407
+ context.openreader.responseSizeLimit?.check(() => (0, limit_size_1.getObjectSize)(model, fields) + 1);
408
+ let query = new query_1.ListQuery(model, context.openreader.dialect, entityName, fields, { where: { op: 'eq', field: 'id', value: args.where.id } });
414
409
  let result = await context.openreader.executeQuery(query);
415
410
  (0, assert_1.default)(result.length < 2);
416
411
  return result[0];
417
412
  }
418
413
  };
419
414
  }
420
- installRelayConnection(entityName, query) {
415
+ installRelayConnection(typeName, query) {
421
416
  let model = this.model;
422
- let outputType = (0, util_naming_1.toPlural)(entityName) + 'Connection';
423
- let edgeType = `${entityName}Edge`;
424
- query[`${(0, util_naming_1.toPlural)((0, util_naming_1.toCamelCase)(entityName))}Connection`] = {
417
+ let outputType = (0, util_naming_1.toPlural)(typeName) + 'Connection';
418
+ let edgeType = `${typeName}Edge`;
419
+ query[`${(0, util_naming_1.toPlural)((0, util_naming_1.toCamelCase)(typeName))}Connection`] = {
425
420
  type: new graphql_1.GraphQLNonNull(new graphql_1.GraphQLObjectType({
426
421
  name: outputType,
427
422
  fields: {
@@ -429,7 +424,7 @@ class SchemaBuilder {
429
424
  type: new graphql_1.GraphQLNonNull(new graphql_1.GraphQLList(new graphql_1.GraphQLNonNull(new graphql_1.GraphQLObjectType({
430
425
  name: edgeType,
431
426
  fields: {
432
- node: { type: new graphql_1.GraphQLNonNull(this.get(entityName)) },
427
+ node: { type: new graphql_1.GraphQLNonNull(this.get(typeName)) },
433
428
  cursor: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLString) }
434
429
  }
435
430
  }))))
@@ -439,10 +434,10 @@ class SchemaBuilder {
439
434
  }
440
435
  })),
441
436
  args: {
442
- orderBy: { type: new graphql_1.GraphQLNonNull(this.getOrderBy(entityName)) },
437
+ orderBy: { type: new graphql_1.GraphQLNonNull(this.getOrderBy(typeName)) },
443
438
  after: { type: graphql_1.GraphQLString },
444
439
  first: { type: graphql_1.GraphQLInt },
445
- where: { type: this.getWhere(entityName) }
440
+ where: { type: this.getWhere(typeName) }
446
441
  },
447
442
  async resolve(source, args, context, info) {
448
443
  let orderByArg = (0, util_1.ensureArray)(args.orderBy);
@@ -450,7 +445,7 @@ class SchemaBuilder {
450
445
  throw new apollo_server_core_1.UserInputError('orderBy argument is required for connection');
451
446
  }
452
447
  let req = {
453
- orderBy: (0, orderBy_1.parseOrderBy)(model, entityName, orderByArg),
448
+ orderBy: (0, orderBy_1.parseOrderBy)(model, typeName, orderByArg),
454
449
  where: (0, where_1.parseWhere)(args.where)
455
450
  };
456
451
  if (args.first != null) {
@@ -478,12 +473,13 @@ class SchemaBuilder {
478
473
  req.edgeCursor = (0, resolve_tree_1.hasTreeRequest)(edgeFields, 'cursor');
479
474
  let nodeTree = (0, resolve_tree_1.getTreeRequest)(edgeFields, 'node');
480
475
  if (nodeTree) {
481
- req.edgeNode = (0, tree_1.parseResolveTree)(model, entityName, info.schema, nodeTree);
476
+ req.edgeNode = (0, tree_1.parseAnyTree)(model, typeName, info.schema, nodeTree);
482
477
  }
483
478
  }
484
- let result = await context.openreader.executeQuery(new query_1.EntityConnectionQuery(model, context.openreader.dialect, entityName, req));
479
+ context.openreader.responseSizeLimit?.check(() => (0, limit_size_1.getConnectionSize)(model, typeName, req) + 1);
480
+ let result = await context.openreader.executeQuery(new query_1.ConnectionQuery(model, context.openreader.dialect, typeName, req));
485
481
  if (req.totalCount && result.totalCount == null) {
486
- result.totalCount = await context.openreader.executeQuery(new query_1.EntityCountQuery(model, context.openreader.dialect, entityName, req.where));
482
+ result.totalCount = await context.openreader.executeQuery(new query_1.CountQuery(model, context.openreader.dialect, typeName, req.where));
487
483
  }
488
484
  return result;
489
485
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/opencrud/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/opencrud/schema.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import { GraphQLSchema } from "graphql";
2
- import { ResolveTree } from "graphql-parse-resolve-info";
3
- import { EntityListArguments } from "../ir/args";
4
- import { FieldRequest } from "../ir/fields";
5
- import { Model } from "../model";
6
- export declare function parseResolveTree(model: Model, objectName: string, schema: GraphQLSchema, tree: ResolveTree): FieldRequest[];
7
- export declare function parseEntityListArguments(model: Model, entityName: string, gqlArgs: any): EntityListArguments;
1
+ import { GraphQLSchema } from 'graphql';
2
+ import { ResolveTree } from 'graphql-parse-resolve-info';
3
+ import { SqlArguments } from '../ir/args';
4
+ import { AnyFields, FieldRequest, FieldsByEntity } from '../ir/fields';
5
+ import { Model } from '../model';
6
+ export declare function parseObjectTree(model: Model, typeName: string, schema: GraphQLSchema, tree: ResolveTree): FieldRequest[];
7
+ export declare function parseSqlArguments(model: Model, typeName: string, gqlArgs: any): SqlArguments;
8
+ export declare function parseQueryableTree(model: Model, queryableName: string, schema: GraphQLSchema, tree: ResolveTree): FieldsByEntity;
9
+ export declare function parseAnyTree(model: Model, typeName: string, schema: GraphQLSchema, tree: ResolveTree): AnyFields;
8
10
  //# sourceMappingURL=tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/opencrud/tree.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAA;AACrC,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAC,YAAY,EAAgB,MAAM,cAAc,CAAA;AACxD,OAAO,EAAC,KAAK,EAAC,MAAM,UAAU,CAAA;AAO9B,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,GAClB,YAAY,EAAE,CAmGhB;AAGD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,mBAAmB,CAuB5G"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/opencrud/tree.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAA;AACrC,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAA;AACvC,OAAO,EAAC,SAAS,EAAE,YAAY,EAAE,cAAc,EAAgB,MAAM,cAAc,CAAA;AACnF,OAAO,EAAC,KAAK,EAAC,MAAM,UAAU,CAAA;AAQ9B,wBAAgB,eAAe,CAC3B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,GAClB,YAAY,EAAE,CAmGhB;AAGD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,YAAY,CAuB5F;AAGD,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,GAClB,cAAc,CAMhB;AAGD,wBAAgB,YAAY,CACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,GAClB,SAAS,CAMX"}
@@ -3,19 +3,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parseEntityListArguments = exports.parseResolveTree = void 0;
6
+ exports.parseAnyTree = exports.parseQueryableTree = exports.parseSqlArguments = exports.parseObjectTree = void 0;
7
7
  const util_internal_1 = require("@subsquid/util-internal");
8
8
  const assert_1 = __importDefault(require("assert"));
9
+ const model_tools_1 = require("../model.tools");
9
10
  const resolve_tree_1 = require("../util/resolve-tree");
10
11
  const util_1 = require("../util/util");
11
12
  const orderBy_1 = require("./orderBy");
12
13
  const where_1 = require("./where");
13
- function parseResolveTree(model, objectName, schema, tree) {
14
+ function parseObjectTree(model, typeName, schema, tree) {
14
15
  let requests = [];
15
16
  let requestedScalars = {};
16
- let object = model[objectName];
17
+ let object = model[typeName];
17
18
  (0, assert_1.default)(object.kind == "entity" || object.kind == "object");
18
- let fields = (0, resolve_tree_1.simplifyResolveTree)(schema, tree, objectName).fields;
19
+ let fields = (0, resolve_tree_1.simplifyResolveTree)(schema, tree, typeName).fields;
19
20
  for (let alias in fields) {
20
21
  let f = fields[alias];
21
22
  let prop = object.properties[f.name];
@@ -43,7 +44,7 @@ function parseResolveTree(model, objectName, schema, tree) {
43
44
  type: prop.type,
44
45
  prop,
45
46
  index: 0,
46
- children: parseResolveTree(model, prop.type.name, schema, f)
47
+ children: parseObjectTree(model, prop.type.name, schema, f)
47
48
  });
48
49
  break;
49
50
  case "union": {
@@ -51,7 +52,7 @@ function parseResolveTree(model, objectName, schema, tree) {
51
52
  (0, assert_1.default)(union.kind == "union");
52
53
  let children = [];
53
54
  for (let variant of union.variants) {
54
- for (let req of parseResolveTree(model, variant, schema, f)) {
55
+ for (let req of parseObjectTree(model, variant, schema, f)) {
55
56
  req.ifType = variant;
56
57
  children.push(req);
57
58
  }
@@ -75,7 +76,7 @@ function parseResolveTree(model, objectName, schema, tree) {
75
76
  type: prop.type,
76
77
  prop,
77
78
  index: 0,
78
- children: parseResolveTree(model, prop.type.foreignEntity, schema, f)
79
+ children: parseObjectTree(model, prop.type.entity, schema, f)
79
80
  });
80
81
  break;
81
82
  case "lookup":
@@ -86,7 +87,7 @@ function parseResolveTree(model, objectName, schema, tree) {
86
87
  type: prop.type,
87
88
  prop,
88
89
  index: 0,
89
- children: parseResolveTree(model, prop.type.entity, schema, f)
90
+ children: parseObjectTree(model, prop.type.entity, schema, f)
90
91
  });
91
92
  break;
92
93
  case "list-lookup":
@@ -97,8 +98,8 @@ function parseResolveTree(model, objectName, schema, tree) {
97
98
  type: prop.type,
98
99
  prop,
99
100
  index: 0,
100
- args: parseEntityListArguments(model, prop.type.entity, f.args),
101
- children: parseResolveTree(model, prop.type.entity, schema, f)
101
+ args: parseSqlArguments(model, prop.type.entity, f.args),
102
+ children: parseObjectTree(model, prop.type.entity, schema, f)
102
103
  });
103
104
  break;
104
105
  default:
@@ -107,15 +108,15 @@ function parseResolveTree(model, objectName, schema, tree) {
107
108
  }
108
109
  return requests;
109
110
  }
110
- exports.parseResolveTree = parseResolveTree;
111
- function parseEntityListArguments(model, entityName, gqlArgs) {
111
+ exports.parseObjectTree = parseObjectTree;
112
+ function parseSqlArguments(model, typeName, gqlArgs) {
112
113
  let args = {};
113
114
  let where = (0, where_1.parseWhere)(gqlArgs.where);
114
115
  if (where) {
115
116
  args.where = where;
116
117
  }
117
118
  if (gqlArgs.orderBy) {
118
- args.orderBy = (0, orderBy_1.parseOrderBy)(model, entityName, (0, util_1.ensureArray)(gqlArgs.orderBy));
119
+ args.orderBy = (0, orderBy_1.parseOrderBy)(model, typeName, (0, util_1.ensureArray)(gqlArgs.orderBy));
119
120
  }
120
121
  if (gqlArgs.offset) {
121
122
  (0, assert_1.default)(typeof gqlArgs.offset == "number");
@@ -127,5 +128,22 @@ function parseEntityListArguments(model, entityName, gqlArgs) {
127
128
  }
128
129
  return args;
129
130
  }
130
- exports.parseEntityListArguments = parseEntityListArguments;
131
+ exports.parseSqlArguments = parseSqlArguments;
132
+ function parseQueryableTree(model, queryableName, schema, tree) {
133
+ let fields = {};
134
+ for (let entity of (0, model_tools_1.getQueryableEntities)(model, queryableName)) {
135
+ fields[entity] = parseObjectTree(model, entity, schema, tree);
136
+ }
137
+ return fields;
138
+ }
139
+ exports.parseQueryableTree = parseQueryableTree;
140
+ function parseAnyTree(model, typeName, schema, tree) {
141
+ if (model[typeName].kind == 'interface') {
142
+ return parseQueryableTree(model, typeName, schema, tree);
143
+ }
144
+ else {
145
+ return parseObjectTree(model, typeName, schema, tree);
146
+ }
147
+ }
148
+ exports.parseAnyTree = parseAnyTree;
131
149
  //# sourceMappingURL=tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/opencrud/tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/opencrud/tree.ts"],"names":[],"mappings":"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"}
package/lib/server.d.ts CHANGED
@@ -1,23 +1,26 @@
1
- import type { Logger } from "@subsquid/logger";
2
- import { ListeningServer } from "@subsquid/util-internal-http-server";
3
- import { PluginDefinition } from "apollo-server-core";
4
- import express from "express";
5
- import { GraphQLSchema } from "graphql";
6
- import type { Pool } from "pg";
7
- import { Context } from "./context";
8
- import type { Dialect } from "./dialect";
9
- import type { Model } from "./model";
1
+ import type { Logger } from '@subsquid/logger';
2
+ import { ListeningServer } from '@subsquid/util-internal-http-server';
3
+ import { PluginDefinition } from 'apollo-server-core';
4
+ import express from 'express';
5
+ import { GraphQLSchema } from 'graphql';
6
+ import type { Pool } from 'pg';
7
+ import { Context } from './context';
8
+ import type { Dialect } from './dialect';
9
+ import type { Model } from './model';
10
10
  export interface ServerOptions {
11
11
  port: number | string;
12
12
  model: Model;
13
13
  connection: Pool;
14
14
  dialect?: Dialect;
15
- subscriptions?: boolean;
16
- subscriptionPollInterval?: number;
17
- subscriptionConnection?: Pool;
18
15
  graphiqlConsole?: boolean;
19
16
  log?: Logger;
20
17
  maxRequestSizeBytes?: number;
18
+ maxRootFields?: number;
19
+ maxResponseNodes?: number;
20
+ subscriptions?: boolean;
21
+ subscriptionPollInterval?: number;
22
+ subscriptionConnection?: Pool;
23
+ subscriptionMaxResponseNodes?: number;
21
24
  }
22
25
  export declare function serve(options: ServerOptions): Promise<ListeningServer>;
23
26
  export declare type Dispose = () => Promise<void>;
@@ -31,6 +34,7 @@ export interface ApolloOptions {
31
34
  graphiqlConsole?: boolean;
32
35
  log?: Logger;
33
36
  maxRequestSizeBytes?: number;
37
+ maxRootFields?: number;
34
38
  }
35
39
  export declare function runApollo(options: ApolloOptions): Promise<ListeningServer>;
36
40
  export declare function addServerCleanup(disposals: Dispose[], server: Promise<ListeningServer>, log?: Logger): Promise<ListeningServer>;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAS,eAAe,EAAC,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AAEnD,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAA;AAIrC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAA;AAE5B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAKlC,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,IAAI,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,sBAAsB,CAAC,EAAE,IAAI,CAAA;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAGD,wBAAsB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAsB5E;AAGD,oBAAY,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;AAGzC,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,OAAO,CAAA;IACtB,MAAM,EAAE,aAAa,CAAA;IACrB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAGD,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CA2EhF;AAGD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmB/H;AAGD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAsBnE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAS,eAAe,EAAC,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AAEnD,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAgB,aAAa,EAAC,MAAM,SAAS,CAAA;AAIpD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAA;AAE5B,OAAO,EAAC,OAAO,EAAoB,MAAM,WAAW,CAAA;AAEpD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAOlC,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,IAAI,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,sBAAsB,CAAC,EAAE,IAAI,CAAA;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAA;CACxC;AAGD,wBAAsB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAyC5E;AAGD,oBAAY,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;AAGzC,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,OAAO,CAAA;IACtB,MAAM,EAAE,aAAa,CAAA;IACrB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB;AAGD,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CA0FhF;AAGD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmB/H;AAGD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAsBnE"}