@subsquid/openreader 0.5.0 → 0.7.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 (116) hide show
  1. package/dist/dialect.d.ts +2 -0
  2. package/dist/dialect.d.ts.map +1 -0
  3. package/dist/dialect.js +3 -0
  4. package/dist/dialect.js.map +1 -0
  5. package/dist/gql/opencrud.d.ts +4 -3
  6. package/dist/gql/opencrud.d.ts.map +1 -1
  7. package/dist/gql/opencrud.js +16 -7
  8. package/dist/gql/opencrud.js.map +1 -1
  9. package/dist/gql/scalars/BigInt.d.ts +3 -0
  10. package/dist/gql/scalars/BigInt.d.ts.map +1 -0
  11. package/dist/gql/scalars/BigInt.js +36 -0
  12. package/dist/gql/scalars/BigInt.js.map +1 -0
  13. package/dist/gql/scalars/Bytes.d.ts +3 -0
  14. package/dist/gql/scalars/Bytes.d.ts.map +1 -0
  15. package/dist/gql/scalars/Bytes.js +32 -0
  16. package/dist/gql/scalars/Bytes.js.map +1 -0
  17. package/dist/gql/scalars/DateTime.d.ts +3 -0
  18. package/dist/gql/scalars/DateTime.d.ts.map +1 -0
  19. package/dist/gql/scalars/DateTime.js +44 -0
  20. package/dist/gql/scalars/DateTime.js.map +1 -0
  21. package/dist/gql/scalars/JSON.d.ts +3 -0
  22. package/dist/gql/scalars/JSON.d.ts.map +1 -0
  23. package/dist/gql/scalars/JSON.js +9 -0
  24. package/dist/gql/scalars/JSON.js.map +1 -0
  25. package/dist/gql/scalars/index.d.ts +7 -0
  26. package/dist/gql/scalars/index.d.ts.map +1 -0
  27. package/dist/gql/scalars/index.js +14 -0
  28. package/dist/gql/scalars/index.js.map +1 -0
  29. package/dist/gql/schema.d.ts.map +1 -1
  30. package/dist/gql/schema.js +3 -2
  31. package/dist/gql/schema.js.map +1 -1
  32. package/dist/orderBy.d.ts.map +1 -1
  33. package/dist/orderBy.js +4 -2
  34. package/dist/orderBy.js.map +1 -1
  35. package/dist/queryBuilder.d.ts +3 -1
  36. package/dist/queryBuilder.d.ts.map +1 -1
  37. package/dist/queryBuilder.js +121 -24
  38. package/dist/queryBuilder.js.map +1 -1
  39. package/dist/resolver.d.ts +2 -1
  40. package/dist/resolver.d.ts.map +1 -1
  41. package/dist/resolver.js +12 -12
  42. package/dist/resolver.js.map +1 -1
  43. package/dist/server.d.ts +2 -0
  44. package/dist/server.d.ts.map +1 -1
  45. package/dist/server.js +3 -2
  46. package/dist/server.js.map +1 -1
  47. package/dist/test/basic.test.js +3 -3
  48. package/dist/test/basic.test.js.map +1 -1
  49. package/dist/test/connection.test.js +1 -1
  50. package/dist/test/connection.test.js.map +1 -1
  51. package/dist/test/fts.test.js +2 -2
  52. package/dist/test/fts.test.js.map +1 -1
  53. package/dist/test/isNull.test.js +1 -1
  54. package/dist/test/isNull.test.js.map +1 -1
  55. package/dist/test/lists.test.js +3 -3
  56. package/dist/test/lists.test.js.map +1 -1
  57. package/dist/test/lookup.test.js +13 -7
  58. package/dist/test/lookup.test.js.map +1 -1
  59. package/dist/test/regressions.test.d.ts +2 -0
  60. package/dist/test/regressions.test.d.ts.map +1 -0
  61. package/dist/test/regressions.test.js +39 -0
  62. package/dist/test/regressions.test.js.map +1 -0
  63. package/dist/test/scalars.test.js +47 -10
  64. package/dist/test/scalars.test.js.map +1 -1
  65. package/dist/test/{util/setup.d.ts → setup.d.ts} +8 -1
  66. package/dist/test/setup.d.ts.map +1 -0
  67. package/dist/test/{util/setup.js → setup.js} +19 -8
  68. package/dist/test/setup.js.map +1 -0
  69. package/dist/test/typed-json.test.js +16 -2
  70. package/dist/test/typed-json.test.js.map +1 -1
  71. package/dist/test/unions.test.js +1 -1
  72. package/dist/test/unions.test.js.map +1 -1
  73. package/dist/test/where.test.js +1 -1
  74. package/dist/test/where.test.js.map +1 -1
  75. package/dist/util.d.ts +1 -0
  76. package/dist/util.d.ts.map +1 -1
  77. package/dist/util.js +5 -1
  78. package/dist/util.js.map +1 -1
  79. package/dist/where.d.ts +1 -1
  80. package/dist/where.d.ts.map +1 -1
  81. package/dist/where.js +5 -1
  82. package/dist/where.js.map +1 -1
  83. package/package.json +4 -4
  84. package/src/dialect.ts +2 -0
  85. package/src/gql/opencrud.ts +19 -8
  86. package/src/gql/scalars/BigInt.ts +34 -0
  87. package/src/gql/scalars/Bytes.ts +28 -0
  88. package/src/gql/scalars/DateTime.ts +45 -0
  89. package/src/gql/scalars/JSON.ts +7 -0
  90. package/src/gql/scalars/index.ts +12 -0
  91. package/src/gql/schema.ts +3 -2
  92. package/src/orderBy.ts +4 -2
  93. package/src/queryBuilder.ts +114 -20
  94. package/src/resolver.ts +13 -11
  95. package/src/server.ts +5 -2
  96. package/src/test/basic.test.ts +3 -3
  97. package/src/test/connection.test.ts +1 -1
  98. package/src/test/fts.test.ts +4 -2
  99. package/src/test/isNull.test.ts +1 -1
  100. package/src/test/lists.test.ts +3 -3
  101. package/src/test/lookup.test.ts +13 -7
  102. package/src/test/regressions.test.ts +39 -0
  103. package/src/test/scalars.test.ts +49 -10
  104. package/src/test/{util/setup.ts → setup.ts} +21 -7
  105. package/src/test/typed-json.test.ts +17 -2
  106. package/src/test/unions.test.ts +1 -1
  107. package/src/test/where.test.ts +1 -1
  108. package/src/util.ts +5 -0
  109. package/src/where.ts +9 -2
  110. package/dist/scalars.d.ts +0 -36
  111. package/dist/scalars.d.ts.map +0 -1
  112. package/dist/scalars.js +0 -229
  113. package/dist/scalars.js.map +0 -1
  114. package/dist/test/util/setup.d.ts.map +0 -1
  115. package/dist/test/util/setup.js.map +0 -1
  116. package/src/scalars.ts +0 -247
@@ -8,12 +8,12 @@ const util_1 = require("@subsquid/util");
8
8
  const assert_1 = __importDefault(require("assert"));
9
9
  const model_tools_1 = require("./model.tools");
10
10
  const orderBy_1 = require("./orderBy");
11
- const scalars_1 = require("./scalars");
12
11
  const util_2 = require("./util");
13
12
  const where_1 = require("./where");
14
13
  class QueryBuilder {
15
- constructor(model, db) {
14
+ constructor(model, dialect, db) {
16
15
  this.model = model;
16
+ this.dialect = dialect;
17
17
  this.db = db;
18
18
  this.params = [];
19
19
  this.aliases = new AliasSet();
@@ -29,7 +29,7 @@ class QueryBuilder {
29
29
  let table = (0, util_2.toTable)(entityName);
30
30
  let alias = this.aliases.add(table);
31
31
  let join = new JoinSet(this.aliases);
32
- let cursor = new Cursor(this.model, this.ident.bind(this), this.aliases, join, entityName, entity, alias, '');
32
+ let cursor = new Cursor(this.model, this.dialect, this.ident.bind(this), this.aliases, join, entityName, entity, alias, '');
33
33
  let whereExps = [];
34
34
  let orderByExps = [];
35
35
  let columns = new ColumnSet();
@@ -51,7 +51,7 @@ class QueryBuilder {
51
51
  break;
52
52
  case 'list-subquery':
53
53
  if (columns.size()) {
54
- out += `SELECT json_build_array(${columns.render()}) `;
54
+ out += `SELECT json_build_array(${columns.render()}) AS row `;
55
55
  }
56
56
  break;
57
57
  default:
@@ -127,7 +127,7 @@ class QueryBuilder {
127
127
  case 'scalar':
128
128
  case 'enum':
129
129
  case 'list':
130
- req.index = columns.add(cursor.transport(fieldName));
130
+ req.index = columns.add(cursor.output(fieldName));
131
131
  break;
132
132
  case 'object':
133
133
  req.index = columns.add(cursor.field(fieldName) + ' IS NULL');
@@ -135,22 +135,22 @@ class QueryBuilder {
135
135
  break;
136
136
  case 'union':
137
137
  let cu = cursor.child(fieldName);
138
- req.index = columns.add(cu.transport('isTypeOf'));
138
+ req.index = columns.add(cu.output('isTypeOf'));
139
139
  this.populateColumns(columns, cu, req.children);
140
140
  break;
141
141
  case 'fk':
142
142
  case 'lookup': {
143
143
  let cu = cursor.child(fieldName);
144
- req.index = columns.add(cu.transport('id'));
144
+ req.index = columns.add(cu.output('id'));
145
145
  this.populateColumns(columns, cu, req.children);
146
146
  break;
147
147
  }
148
148
  case 'list-lookup':
149
- req.index = columns.add('array(' + this.select(field.propType.entity, req.args, req.children, {
149
+ req.index = columns.add('(SELECT jsonb_agg(row) FROM (' + this.select(field.propType.entity, req.args, req.children, {
150
150
  kind: 'list-subquery',
151
151
  field: field.propType.field,
152
152
  parent: cursor.native('id')
153
- }) + ')');
153
+ }) + ') as rows)');
154
154
  break;
155
155
  default:
156
156
  throw (0, util_2.unsupportedCase)(field.propType.kind);
@@ -247,18 +247,31 @@ class QueryBuilder {
247
247
  break;
248
248
  }
249
249
  case 'startsWith':
250
- exps.push(`starts_with(${lhs}, ${this.param(arg)})`);
250
+ if (this.dialect == 'cockroach') {
251
+ let p = this.param(arg) + '::text';
252
+ exps.push(`${lhs} >= ${p}`);
253
+ exps.push(`left(${lhs}, length(${p})) = ${p}`);
254
+ }
255
+ else {
256
+ exps.push(`starts_with(${lhs}, ${this.param(arg)})`);
257
+ }
251
258
  break;
252
259
  case 'not_startsWith':
253
- exps.push(`NOT starts_with(${lhs}, ${this.param(arg)})`);
260
+ if (this.dialect == 'cockroach') {
261
+ let p = this.param(arg) + '::text';
262
+ exps.push(`(${lhs} < ${p} OR left(${lhs}, length(${p})) != ${p})`);
263
+ }
264
+ else {
265
+ exps.push(`NOT starts_with(${lhs}, ${this.param(arg)})`);
266
+ }
254
267
  break;
255
268
  case 'endsWith': {
256
- let param = this.param(arg);
269
+ let param = this.param(arg) + '::text';
257
270
  exps.push(`right(${lhs}, length(${param})) = ${param}`);
258
271
  break;
259
272
  }
260
273
  case 'not_endsWith': {
261
- let param = this.param(arg);
274
+ let param = this.param(arg) + '::text';
262
275
  exps.push(`right(${lhs}, length(${param})) != ${param}`);
263
276
  break;
264
277
  }
@@ -268,6 +281,18 @@ class QueryBuilder {
268
281
  case 'not_contains':
269
282
  exps.push(`position(${this.param(arg)} in ${lhs}) = 0`);
270
283
  break;
284
+ case 'containsInsensitive':
285
+ exps.push(`position(lower(${this.param(arg)}) in lower(${lhs})) > 0`);
286
+ break;
287
+ case 'not_containsInsensitive':
288
+ exps.push(`position(lower(${this.param(arg)}) in lower(${lhs})) = 0`);
289
+ break;
290
+ case 'jsonContains':
291
+ exps.push(`${lhs} @> ${this.param(arg)}`);
292
+ break;
293
+ case 'jsonHasKey':
294
+ exps.push(`${lhs} ? ${this.param(arg)}`);
295
+ break;
271
296
  default: {
272
297
  exps.push(`${lhs} ${(0, where_1.whereOpToSqlOperator)(op)} ${this.param(arg)}`);
273
298
  }
@@ -361,9 +386,16 @@ class QueryBuilder {
361
386
  }
362
387
  break;
363
388
  }
364
- case 'list-lookup':
365
- rec[req.alias] = this.toResult(row[req.index], req.children);
389
+ case 'list-lookup': {
390
+ let rows = row[req.index];
391
+ if (rows == null) {
392
+ rec[req.alias] = [];
393
+ }
394
+ else {
395
+ rec[req.alias] = this.toResult(row[req.index], req.children);
396
+ }
366
397
  break;
398
+ }
367
399
  default:
368
400
  throw (0, util_2.unsupportedCase)(f.propType.kind);
369
401
  }
@@ -456,11 +488,12 @@ exports.QueryBuilder = QueryBuilder;
456
488
  * A pointer to an entity or nested json object within SQL query.
457
489
  *
458
490
  * It has convenience methods for building various SQL expressions
459
- * related to individual properties of an entity or an object it points to.
491
+ * related to individual properties of an entity or of an object it points to.
460
492
  */
461
493
  class Cursor {
462
- constructor(model, ident, aliases, join, name, object, alias, prefix) {
494
+ constructor(model, dialect, ident, aliases, join, name, object, alias, prefix) {
463
495
  this.model = model;
496
+ this.dialect = dialect;
464
497
  this.ident = ident;
465
498
  this.aliases = aliases;
466
499
  this.join = join;
@@ -469,16 +502,48 @@ class Cursor {
469
502
  this.alias = alias;
470
503
  this.prefix = prefix;
471
504
  }
472
- transport(propName) {
505
+ output(propName) {
473
506
  let prop = this.object.properties[propName];
474
507
  switch (prop.type.kind) {
475
508
  case 'scalar':
509
+ if (this.object.kind == 'object') {
510
+ switch (prop.type.name) {
511
+ case 'Int':
512
+ return `(${this.prefix}->'${propName}')::integer`;
513
+ case 'Float':
514
+ return `(${this.prefix}->'${propName}')::numeric`;
515
+ case 'Boolean':
516
+ return `(${this.prefix}->>'${propName}')::bool`;
517
+ case 'JSON':
518
+ return `${this.prefix}->'${propName}'`;
519
+ default:
520
+ return `${this.prefix}->>'${propName}'`;
521
+ }
522
+ }
523
+ else {
524
+ let exp = this.column(propName);
525
+ switch (prop.type.name) {
526
+ case 'BigInt':
527
+ return `(${exp})::text`;
528
+ case 'Bytes':
529
+ return `'0x' || encode(${exp}, 'hex')`;
530
+ case 'DateTime':
531
+ if (this.dialect == 'cockroach') {
532
+ return `experimental_strftime((${exp}) at time zone 'UTC', '%Y-%m-%dT%H:%M:%S.%fZ')`;
533
+ }
534
+ else {
535
+ return `to_char((${exp}) at time zone 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.US"Z"')`;
536
+ }
537
+ default:
538
+ return exp;
539
+ }
540
+ }
476
541
  case 'enum':
477
542
  if (this.object.kind == 'object') {
478
- return (0, scalars_1.fromJsonToOutputCast)(prop.type.name, this.prefix, propName);
543
+ return `${this.prefix}->>'${propName}'`;
479
544
  }
480
545
  else {
481
- return (0, scalars_1.toOutputCast)(prop.type.name, this.column(propName));
546
+ return this.column(propName);
482
547
  }
483
548
  case 'list':
484
549
  let itemType = prop.type.item.type;
@@ -487,7 +552,22 @@ class Cursor {
487
552
  return this.field(propName);
488
553
  }
489
554
  else {
490
- return (0, scalars_1.toOutputArrayCast)(itemType.name, this.column(propName));
555
+ let exp = this.column(propName);
556
+ switch (itemType.name) {
557
+ case 'BigInt':
558
+ return `(${exp})::text[]`;
559
+ case 'Bytes':
560
+ return `array(select '0x' || encode(i, 'hex') from unnest(${exp}) as i)`;
561
+ case 'DateTime':
562
+ if (this.dialect == 'cockroach') {
563
+ return `array(select experimental_strftime(i at time zone 'UTC', '%Y-%m-%dT%H:%M:%S.%fZ') from unnest(${exp}) as i)`;
564
+ }
565
+ else {
566
+ return `array(select to_char(i at time zone 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.US"Z"') from unnest(${exp}) as i)`;
567
+ }
568
+ default:
569
+ return exp;
570
+ }
491
571
  }
492
572
  default:
493
573
  throw (0, util_2.unsupportedCase)(prop.type.kind);
@@ -502,7 +582,24 @@ class Cursor {
502
582
  }
503
583
  (0, assert_1.default)(prop.type.kind == 'scalar' || prop.type.kind == 'enum');
504
584
  if (this.object.kind == 'object') {
505
- return (0, scalars_1.fromJsonCast)(prop.type.name, this.prefix, propName);
585
+ let js = `${this.prefix}->'${propName}'`;
586
+ let str = `${this.prefix}->>'${propName}'`;
587
+ switch (prop.type.name) {
588
+ case 'Int':
589
+ return `(${js})::integer`;
590
+ case 'Float':
591
+ return `(${js})::numeric`;
592
+ case 'Boolean':
593
+ return `(${str})::bool`;
594
+ case 'BigInt':
595
+ return `(${str})::numeric`;
596
+ case 'Bytes':
597
+ return `decode(substr(${str}, 3), 'hex')`;
598
+ case 'DateTime':
599
+ return `(${str})::timestamptz`;
600
+ default:
601
+ return str;
602
+ }
506
603
  }
507
604
  else {
508
605
  return this.column(propName);
@@ -542,7 +639,7 @@ class Cursor {
542
639
  default:
543
640
  throw (0, util_2.unsupportedCase)(prop.type.kind);
544
641
  }
545
- return new Cursor(this.model, this.ident, this.aliases, this.join, name, object, alias, prefix);
642
+ return new Cursor(this.model, this.dialect, this.ident, this.aliases, this.join, name, object, alias, prefix);
546
643
  }
547
644
  field(name) {
548
645
  if (this.object.kind == 'entity') {
@@ -559,7 +656,7 @@ class Cursor {
559
656
  fk(propName) {
560
657
  return this.object.kind == 'entity'
561
658
  ? this.ident(this.alias) + '.' + this.ident((0, util_2.toFkColumn)(propName))
562
- : (0, scalars_1.fromJsonCast)('ID', this.prefix, propName);
659
+ : `${this.prefix}->>'${propName}'`;
563
660
  }
564
661
  tsv(queryName) {
565
662
  (0, assert_1.default)(this.object.kind == 'entity');
@@ -1 +1 @@
1
- {"version":3,"file":"queryBuilder.js","sourceRoot":"","sources":["../src/queryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queryBuilder.js","sourceRoot":"","sources":["../src/queryBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { IResolvers } from "@graphql-tools/utils";
2
2
  import type { Transaction } from "./db";
3
+ import type { Dialect } from "./dialect";
3
4
  import type { Model } from "./model";
4
5
  export interface ResolverContext {
5
6
  openReaderTransaction: Transaction;
6
7
  }
7
- export declare function buildResolvers(model: Model): IResolvers<unknown, ResolverContext>;
8
+ export declare function buildResolvers(model: Model, dialect: Dialect): IResolvers<unknown, ResolverContext>;
8
9
  //# sourceMappingURL=resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAKpE,OAAO,KAAK,EAAW,WAAW,EAAC,MAAM,MAAM,CAAA;AAC/C,OAAO,KAAK,EAAqB,KAAK,EAAC,MAAM,SAAS,CAAA;AAetD,MAAM,WAAW,eAAe;IAC5B,qBAAqB,EAAE,WAAW,CAAA;CACrC;AAGD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAgFjF"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAKpE,OAAO,KAAK,EAAW,WAAW,EAAC,MAAM,MAAM,CAAA;AAC/C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEtC,OAAO,KAAK,EAAqB,KAAK,EAAC,MAAM,SAAS,CAAA;AActD,MAAM,WAAW,eAAe;IAC5B,qBAAqB,EAAE,WAAW,CAAA;CACrC;AAGD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAgFnG"}
package/dist/resolver.js CHANGED
@@ -7,14 +7,14 @@ exports.buildResolvers = void 0;
7
7
  const util_1 = require("@subsquid/util");
8
8
  const apollo_server_core_1 = require("apollo-server-core");
9
9
  const assert_1 = __importDefault(require("assert"));
10
+ const scalars_1 = require("./gql/scalars");
10
11
  const queryBuilder_1 = require("./queryBuilder");
11
12
  const relayConnection_1 = require("./relayConnection");
12
13
  const requestedFields_1 = require("./requestedFields");
13
- const scalars_1 = require("./scalars");
14
14
  const util_2 = require("./util");
15
- function buildResolvers(model) {
15
+ function buildResolvers(model, dialect) {
16
16
  let Query = {};
17
- let resolvers = { Query, ...(0, scalars_1.getScalarResolvers)() };
17
+ let resolvers = { Query, ...scalars_1.customScalars };
18
18
  for (let name in model) {
19
19
  let item = model[name];
20
20
  switch (item.kind) {
@@ -22,16 +22,16 @@ function buildResolvers(model) {
22
22
  Query[(0, util_2.toQueryListField)(name)] = async (source, args, context, info) => {
23
23
  let fields = (0, requestedFields_1.requestedFields)(model, name, info);
24
24
  let db = await context.openReaderTransaction.get();
25
- return new queryBuilder_1.QueryBuilder(model, db).executeSelect(name, args, fields);
25
+ return new queryBuilder_1.QueryBuilder(model, dialect, db).executeSelect(name, args, fields);
26
26
  };
27
27
  Query[(0, util_2.toQueryListField)(name) + 'Connection'] = async (source, args, context, info) => {
28
28
  let db = await context.openReaderTransaction.get();
29
- return resolveEntityConnection(model, name, args, info, db);
29
+ return resolveEntityConnection(model, dialect, name, args, info, db);
30
30
  };
31
31
  Query[`${(0, util_1.toCamelCase)(name)}ById`] = async (source, args, context, info) => {
32
32
  let fields = (0, requestedFields_1.requestedFields)(model, name, info);
33
33
  let db = await context.openReaderTransaction.get();
34
- let result = await new queryBuilder_1.QueryBuilder(model, db)
34
+ let result = await new queryBuilder_1.QueryBuilder(model, dialect, db)
35
35
  .executeSelect(name, { where: { id_eq: args.id } }, fields);
36
36
  (0, assert_1.default)(result.length < 2);
37
37
  return result[0];
@@ -39,7 +39,7 @@ function buildResolvers(model) {
39
39
  Query[`${(0, util_1.toCamelCase)(name)}ByUniqueInput`] = async (source, args, context, info) => {
40
40
  let fields = (0, requestedFields_1.requestedFields)(model, name, info);
41
41
  let db = await context.openReaderTransaction.get();
42
- let result = await new queryBuilder_1.QueryBuilder(model, db)
42
+ let result = await new queryBuilder_1.QueryBuilder(model, dialect, db)
43
43
  .executeSelect(name, { where: { id_eq: args.where.id } }, fields);
44
44
  (0, assert_1.default)(result.length < 2);
45
45
  return result[0];
@@ -58,7 +58,7 @@ function buildResolvers(model) {
58
58
  Query[name] = async (source, args, context, info) => {
59
59
  let fields = (0, requestedFields_1.ftsRequestedFields)(model, name, info);
60
60
  let db = await context.openReaderTransaction.get();
61
- return new queryBuilder_1.QueryBuilder(model, db).executeFulltextSearch(name, args, fields);
61
+ return new queryBuilder_1.QueryBuilder(model, dialect, db).executeFulltextSearch(name, args, fields);
62
62
  };
63
63
  resolvers[`${name}_Item`] = {
64
64
  __resolveType: resolveUnionType
@@ -97,7 +97,7 @@ function resolveUnionType(source) {
97
97
  function aliasResolver(source, args, ctx, info) {
98
98
  return source[info.path.key];
99
99
  }
100
- async function resolveEntityConnection(model, entityName, args, info, db) {
100
+ async function resolveEntityConnection(model, dialect, entityName, args, info, db) {
101
101
  let response = {};
102
102
  let orderBy = args.orderBy && (0, util_2.ensureArray)(args.orderBy);
103
103
  if (!orderBy?.length) {
@@ -121,7 +121,7 @@ async function resolveEntityConnection(model, entityName, args, info, db) {
121
121
  }
122
122
  let fields = (0, requestedFields_1.connectionRequestedFields)(model, entityName, info);
123
123
  if (fields.edges?.node) {
124
- let nodes = await new queryBuilder_1.QueryBuilder(model, db).executeSelect(entityName, listArgs, fields.edges.node);
124
+ let nodes = await new queryBuilder_1.QueryBuilder(model, dialect, db).executeSelect(entityName, listArgs, fields.edges.node);
125
125
  let edges = new Array(Math.min(limit, nodes.length));
126
126
  for (let i = 0; i < edges.length; i++) {
127
127
  edges[i] = {
@@ -136,7 +136,7 @@ async function resolveEntityConnection(model, entityName, args, info, db) {
136
136
  }
137
137
  }
138
138
  else if (fields.edges?.cursor || fields.pageInfo) {
139
- let listLength = await new queryBuilder_1.QueryBuilder(model, db).executeListCount(entityName, listArgs);
139
+ let listLength = await new queryBuilder_1.QueryBuilder(model, dialect, db).executeListCount(entityName, listArgs);
140
140
  response.pageInfo = pageInfo(listLength);
141
141
  if (fields.edges?.cursor) {
142
142
  response.edges = [];
@@ -151,7 +151,7 @@ async function resolveEntityConnection(model, entityName, args, info, db) {
151
151
  }
152
152
  }
153
153
  if (fields.totalCount && response.totalCount == null) {
154
- response.totalCount = await new queryBuilder_1.QueryBuilder(model, db).executeSelectCount(entityName, listArgs.where);
154
+ response.totalCount = await new queryBuilder_1.QueryBuilder(model, dialect, db).executeSelectCount(entityName, listArgs.where);
155
155
  }
156
156
  return response;
157
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -3,6 +3,7 @@ import { ApolloServer } from "apollo-server-express";
3
3
  import express from "express";
4
4
  import http from "http";
5
5
  import type { Pool } from "pg";
6
+ import { Dialect } from "./dialect";
6
7
  import type { Model } from "./model";
7
8
  export interface ListeningServer {
8
9
  readonly port: number;
@@ -12,6 +13,7 @@ export interface ServerOptions {
12
13
  model: Model;
13
14
  db: Pool;
14
15
  port: number | string;
16
+ dialect?: Dialect;
15
17
  graphiqlConsole?: boolean;
16
18
  }
17
19
  export declare function serve(options: ServerOptions): Promise<ListeningServer>;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAA;AAElD,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAA;AAG5B,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAIlC,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAGD,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,EAAE,EAAE,IAAI,CAAA;IACR,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC5B;AAGD,wBAAsB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAgC5E;AAGD,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA0BjH;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":";AACA,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAA;AAElD,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAA;AAE5B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAIlC,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAGD,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,EAAE,EAAE,IAAI,CAAA;IACR,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC5B;AAGD,wBAAsB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAiC5E;AAGD,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA0BjH;AAGD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAsBnE"}
package/dist/server.js CHANGED
@@ -16,8 +16,9 @@ const opencrud_1 = require("./gql/opencrud");
16
16
  const resolver_1 = require("./resolver");
17
17
  async function serve(options) {
18
18
  let { model, db } = options;
19
- let resolvers = (0, resolver_1.buildResolvers)(model);
20
- let typeDefs = (0, opencrud_1.buildServerSchema)(model);
19
+ let dialect = options.dialect ?? 'postgres';
20
+ let resolvers = (0, resolver_1.buildResolvers)(model, dialect);
21
+ let typeDefs = (0, opencrud_1.buildServerSchema)(model, dialect);
21
22
  let app = (0, express_1.default)();
22
23
  let server = http_1.default.createServer(app);
23
24
  let apollo = new apollo_server_express_1.ApolloServer({
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const setup_1 = require("./util/setup");
3
+ const setup_1 = require("./setup");
4
4
  describe('basic tests', function () {
5
5
  (0, setup_1.useDatabase)([
6
6
  `create table account (id text primary key, wallet text, balance numeric)`,
@@ -41,11 +41,11 @@ describe('basic tests', function () {
41
41
  `);
42
42
  it('can fetch all accounts', function () {
43
43
  return client.test(`query {
44
- accounts {
44
+ accounts(orderBy: id_ASC) {
45
45
  id
46
46
  wallet
47
47
  balance
48
- history { balance }
48
+ history(orderBy: id_ASC) { balance }
49
49
  }
50
50
  }`, {
51
51
  accounts: [