joist-orm 1.76.3 → 1.77.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 (56) hide show
  1. package/build/src/Aliases.js +2 -0
  2. package/build/src/Aliases.js.map +1 -1
  3. package/build/src/EntityFilter.d.ts +2 -0
  4. package/build/src/EntityFilter.d.ts.map +1 -1
  5. package/build/src/EntityManager.d.ts +49 -11
  6. package/build/src/EntityManager.d.ts.map +1 -1
  7. package/build/src/EntityManager.js +18 -7
  8. package/build/src/EntityManager.js.map +1 -1
  9. package/build/src/QueryParser.d.ts +10 -0
  10. package/build/src/QueryParser.d.ts.map +1 -1
  11. package/build/src/QueryParser.js +91 -12
  12. package/build/src/QueryParser.js.map +1 -1
  13. package/build/src/dataloaders/findByUniqueDataLoader.d.ts.map +1 -1
  14. package/build/src/dataloaders/findByUniqueDataLoader.js +1 -0
  15. package/build/src/dataloaders/findByUniqueDataLoader.js.map +1 -1
  16. package/build/src/dataloaders/findDataLoader.d.ts +1 -1
  17. package/build/src/dataloaders/findDataLoader.d.ts.map +1 -1
  18. package/build/src/dataloaders/findDataLoader.js +216 -2
  19. package/build/src/dataloaders/findDataLoader.js.map +1 -1
  20. package/build/src/dataloaders/lensDataLoader.d.ts.map +1 -1
  21. package/build/src/dataloaders/lensDataLoader.js +15 -3
  22. package/build/src/dataloaders/lensDataLoader.js.map +1 -1
  23. package/build/src/dataloaders/loadDataLoader.js +1 -1
  24. package/build/src/dataloaders/loadDataLoader.js.map +1 -1
  25. package/build/src/dataloaders/manyToManyDataLoader.js +6 -1
  26. package/build/src/dataloaders/manyToManyDataLoader.js.map +1 -1
  27. package/build/src/dataloaders/manyToManyFindDataLoader.js +12 -2
  28. package/build/src/dataloaders/manyToManyFindDataLoader.js.map +1 -1
  29. package/build/src/dataloaders/oneToManyDataLoader.d.ts.map +1 -1
  30. package/build/src/dataloaders/oneToManyDataLoader.js +3 -1
  31. package/build/src/dataloaders/oneToManyDataLoader.js.map +1 -1
  32. package/build/src/dataloaders/oneToManyFindDataLoader.d.ts.map +1 -1
  33. package/build/src/dataloaders/oneToManyFindDataLoader.js +12 -2
  34. package/build/src/dataloaders/oneToManyFindDataLoader.js.map +1 -1
  35. package/build/src/dataloaders/oneToOneDataLoader.d.ts.map +1 -1
  36. package/build/src/dataloaders/oneToOneDataLoader.js +3 -1
  37. package/build/src/dataloaders/oneToOneDataLoader.js.map +1 -1
  38. package/build/src/drivers/Driver.d.ts +3 -4
  39. package/build/src/drivers/Driver.d.ts.map +1 -1
  40. package/build/src/drivers/IdAssigner.d.ts.map +1 -1
  41. package/build/src/drivers/IdAssigner.js +5 -4
  42. package/build/src/drivers/IdAssigner.js.map +1 -1
  43. package/build/src/drivers/InMemoryDriver.d.ts +2 -4
  44. package/build/src/drivers/InMemoryDriver.d.ts.map +1 -1
  45. package/build/src/drivers/InMemoryDriver.js +12 -11
  46. package/build/src/drivers/InMemoryDriver.js.map +1 -1
  47. package/build/src/drivers/PostgresDriver.d.ts +2 -2
  48. package/build/src/drivers/PostgresDriver.d.ts.map +1 -1
  49. package/build/src/drivers/PostgresDriver.js +8 -85
  50. package/build/src/drivers/PostgresDriver.js.map +1 -1
  51. package/build/src/utils.d.ts +2 -0
  52. package/build/src/utils.d.ts.map +1 -1
  53. package/build/src/utils.js +8 -1
  54. package/build/src/utils.js.map +1 -1
  55. package/build/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.maybeAddNotSoftDeleted = exports.addTablePerClassJoinsAndClassTag = exports.maybeAddOrderBy = exports.mapToDb = exports.parseValueFilter = exports.parseEntityFilter = exports.parseFindQuery = exports.skipCondition = void 0;
3
+ exports.getTables = exports.combineConditions = exports.maybeAddNotSoftDeleted = exports.addTablePerClassJoinsAndClassTag = exports.maybeAddOrderBy = exports.mapToDb = exports.parseValueFilter = exports.parseEntityFilter = exports.parseFindQuery = exports.skipCondition = void 0;
4
4
  const is_plain_object_1 = require("is-plain-object");
5
5
  const joist_utils_1 = require("joist-utils");
6
6
  const Aliases_1 = require("./Aliases");
@@ -9,7 +9,12 @@ const index_1 = require("./index");
9
9
  const QueryBuilder_1 = require("./QueryBuilder");
10
10
  const utils_1 = require("./utils");
11
11
  /** A marker condition for alias methods to indicate they should be skipped/pruned. */
12
- exports.skipCondition = { alias: "skip", column: "skip", cond: undefined };
12
+ exports.skipCondition = {
13
+ alias: "skip",
14
+ column: "skip",
15
+ dbType: "skip",
16
+ cond: undefined,
17
+ };
13
18
  /** Parses an `em.find` filter into a `ParsedFindQuery` for simpler execution. */
14
19
  function parseFindQuery(meta, filter, opts = {}) {
15
20
  const selects = [];
@@ -31,8 +36,14 @@ function parseFindQuery(meta, filter, opts = {}) {
31
36
  }
32
37
  function maybeAddNotSoftDeleted(meta, alias) {
33
38
  if (filterSoftDeletes(meta)) {
34
- const column = meta.allFields[meta.timestampFields.deletedAt].serde?.columns[0].columnName;
35
- conditions.push({ alias, column, cond: { kind: "is-null" }, pruneable: true });
39
+ const column = meta.allFields[meta.timestampFields.deletedAt].serde?.columns[0];
40
+ conditions.push({
41
+ alias,
42
+ column: column.columnName,
43
+ dbType: column.dbType,
44
+ cond: { kind: "is-null" },
45
+ pruneable: true,
46
+ });
36
47
  }
37
48
  }
38
49
  function addTable(meta, alias, join, col1, col2, filter) {
@@ -75,6 +86,7 @@ function parseFindQuery(meta, filter, opts = {}) {
75
86
  conditions.push({
76
87
  alias: `${alias}${field.aliasSuffix}`,
77
88
  column: column.columnName,
89
+ dbType: column.dbType,
78
90
  cond: mapToDb(column, filter),
79
91
  });
80
92
  });
@@ -96,7 +108,12 @@ function parseFindQuery(meta, filter, opts = {}) {
96
108
  addTable(field.otherMetadata(), a, "inner", `${alias}.${column.columnName}`, `${a}.id`, sub);
97
109
  }
98
110
  else {
99
- conditions.push({ alias, column: column.columnName, cond: mapToDb(column, f) });
111
+ conditions.push({
112
+ alias,
113
+ column: column.columnName,
114
+ dbType: column.dbType,
115
+ cond: mapToDb(column, f),
116
+ });
100
117
  }
101
118
  }
102
119
  else if (field.kind === "poly") {
@@ -113,13 +130,24 @@ function parseFindQuery(meta, filter, opts = {}) {
113
130
  if (f.kind === "eq" || f.kind === "ne") {
114
131
  const comp = field.components.find((p) => p.otherMetadata().cstr === (0, index_1.getConstructorFromTaggedId)(f.value)) || (0, utils_1.fail)(`Could not find component for ${f.value}`);
115
132
  const column = field.serde.columns.find((c) => c.columnName === comp.columnName);
116
- conditions.push({ alias, column: comp.columnName, cond: mapToDb(column, f) });
133
+ conditions.push({
134
+ alias,
135
+ column: comp.columnName,
136
+ dbType: column.dbType,
137
+ cond: mapToDb(column, f),
138
+ });
117
139
  }
118
140
  else if (f.kind === "is-null") {
119
141
  // Add a condition for every component
120
142
  // TODO ...should these be anded or ored?
121
143
  field.components.forEach((comp) => {
122
- conditions.push({ alias, column: comp.columnName, cond: f });
144
+ const column = field.serde.columns.find((c) => c.columnName === comp.columnName);
145
+ conditions.push({
146
+ alias,
147
+ column: comp.columnName,
148
+ dbType: column.dbType,
149
+ cond: f,
150
+ });
123
151
  });
124
152
  }
125
153
  else if (f.kind === "in") {
@@ -128,7 +156,12 @@ function parseFindQuery(meta, filter, opts = {}) {
128
156
  // Or together `parent_book_id in (1,2,3) OR parent_author_id IN (4,5,6)`
129
157
  const conditions = Object.entries(idsByConstructor).map(([cstrName, ids]) => {
130
158
  const column = field.serde.columns.find((c) => c.otherMetadata().cstr.name === cstrName);
131
- return { alias, column: column.columnName, cond: mapToDb(column, { kind: "in", value: ids }) };
159
+ return {
160
+ alias,
161
+ column: column.columnName,
162
+ dbType: column.dbType,
163
+ cond: mapToDb(column, { kind: "in", value: ids }),
164
+ };
132
165
  });
133
166
  complexConditions.push({ op: "or", conditions });
134
167
  }
@@ -180,7 +213,12 @@ function parseFindQuery(meta, filter, opts = {}) {
180
213
  return value === null ? value : (0, index_1.keyToNumber)(meta, (0, index_1.maybeResolveReferenceToId)(value));
181
214
  },
182
215
  };
183
- conditions.push({ alias: ja, column: field.columnNames[1], cond: mapToDb(column, f) });
216
+ conditions.push({
217
+ alias: ja,
218
+ column: field.columnNames[1],
219
+ dbType: meta.idType,
220
+ cond: mapToDb(column, f),
221
+ });
184
222
  }
185
223
  }
186
224
  else {
@@ -190,7 +228,7 @@ function parseFindQuery(meta, filter, opts = {}) {
190
228
  }
191
229
  else if (ef) {
192
230
  const column = meta.fields["id"].serde.columns[0];
193
- conditions.push({ alias, column: "id", cond: mapToDb(column, ef) });
231
+ conditions.push({ alias, column: "id", dbType: meta.idType, cond: mapToDb(column, ef) });
194
232
  }
195
233
  }
196
234
  function addOrderBy(meta, alias, orderBy) {
@@ -444,6 +482,8 @@ function parseValueFilter(filter) {
444
482
  case "like":
445
483
  case "ilike":
446
484
  return { kind: key, value: filter[key] };
485
+ case "between":
486
+ return { kind: key, value: filter[key] };
447
487
  default:
448
488
  throw new Error(`Unsupported value filter key ${key}`);
449
489
  }
@@ -556,8 +596,13 @@ function addTablePerClassJoinsAndClassTag(query, meta, alias, isPrimary) {
556
596
  exports.addTablePerClassJoinsAndClassTag = addTablePerClassJoinsAndClassTag;
557
597
  function maybeAddNotSoftDeleted(conditions, meta, alias, softDeletes) {
558
598
  if (softDeletes === "exclude" && meta.timestampFields.deletedAt) {
559
- const column = meta.allFields[meta.timestampFields.deletedAt].serde?.columns[0].columnName;
560
- conditions.push({ alias, column, cond: { kind: "is-null" } });
599
+ const column = meta.allFields[meta.timestampFields.deletedAt].serde?.columns[0];
600
+ conditions.push({
601
+ alias,
602
+ column: column.columnName,
603
+ dbType: column.dbType,
604
+ cond: { kind: "is-null" },
605
+ });
561
606
  }
562
607
  }
563
608
  exports.maybeAddNotSoftDeleted = maybeAddNotSoftDeleted;
@@ -574,4 +619,38 @@ function parseExpression(expression) {
574
619
  }
575
620
  return { op, conditions: valid.filter(index_1.isDefined) };
576
621
  }
622
+ /**
623
+ * Combines the simple & complex compressions of `query` into a single `ParsedExpressionFilter`.
624
+ *
625
+ * The two `query.conditions` and `query.complexConditions` separated generally for historical
626
+ * reasons in the `parseFindQuery` implementation, but are effectively a single expression of
627
+ * `AND`-ing the conditions with the complex conditions.
628
+ */
629
+ function combineConditions(query) {
630
+ if (query.complexConditions) {
631
+ return { op: "and", conditions: [...query.conditions, ...query.complexConditions] };
632
+ }
633
+ else {
634
+ return { op: "and", conditions: query.conditions };
635
+ }
636
+ }
637
+ exports.combineConditions = combineConditions;
638
+ function getTables(query) {
639
+ let primary;
640
+ const innerJoins = [];
641
+ const outerJoins = [];
642
+ for (const table of query.tables) {
643
+ if (table.join === "primary") {
644
+ primary = table;
645
+ }
646
+ else if (table.join === "inner") {
647
+ innerJoins.push(table);
648
+ }
649
+ else if (table.join === "outer") {
650
+ outerJoins.push(table);
651
+ }
652
+ }
653
+ return [primary, innerJoins, outerJoins];
654
+ }
655
+ exports.getTables = getTables;
577
656
  //# sourceMappingURL=QueryParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryParser.js","sourceRoot":"","sources":["../../src/QueryParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryParser.js","sourceRoot":"","sources":["../../src/QueryParser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"findByUniqueDataLoader.d.ts","sourceRoot":"","sources":["../../../src/dataloaders/findByUniqueDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,KAAK,EAAe,MAAM,mBAAmB,CAAC;AAWvD,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACvC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,SAAS,GAAG,SAAS,GACjC,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC,CAwCtC"}
1
+ {"version":3,"file":"findByUniqueDataLoader.d.ts","sourceRoot":"","sources":["../../../src/dataloaders/findByUniqueDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,KAAK,EAAe,MAAM,mBAAmB,CAAC;AAWvD,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACvC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,SAAS,GAAG,SAAS,GACjC,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC,CAyCtC"}
@@ -25,6 +25,7 @@ function findByUniqueDataLoader(em, type, field, softDeletes) {
25
25
  conditions.push({
26
26
  alias,
27
27
  column: column.columnName,
28
+ dbType: column.dbType,
28
29
  cond: { kind: "in", value: values.map((v) => column.mapToDb(v)) },
29
30
  });
30
31
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"findByUniqueDataLoader.js","sourceRoot":"","sources":["../../../src/dataloaders/findByUniqueDataLoader.ts"],"names":[],"mappings":";;;AAGA,sDAAuD;AACvD,kDAA+C;AAC/C,gDAKwB;AAExB,oCAAmC;AAEnC,SAAgB,sBAAsB,CACpC,EAAiB,EACjB,IAAuC,EACvC,KAAY,EACZ,WAAkC;IAElC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC;IAClE,OAAO,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC/D,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAA,2BAAY,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAsB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAoB;YAC7B,OAAO,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC;YACvB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3D,UAAU;SACX,CAAC;QAEF,IAAA,8CAAgC,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAA,oCAAsB,EAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAE7D,IAAI,MAAc,CAAC;QACnB,QAAQ,KAAK,CAAC,IAAI,EAAE;YAClB,KAAK,WAAW;gBACd,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChC,UAAU,CAAC,IAAI,CAAC;oBACd,KAAK;oBACL,MAAM,EAAE,MAAM,CAAC,UAAU;oBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;iBAClE,CAAC,CAAC;gBACH,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;SAC3D;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAExD,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnE,2CAA2C;QAC3C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AA7CD,wDA6CC"}
1
+ {"version":3,"file":"findByUniqueDataLoader.js","sourceRoot":"","sources":["../../../src/dataloaders/findByUniqueDataLoader.ts"],"names":[],"mappings":";;;AAGA,sDAAuD;AACvD,kDAA+C;AAC/C,gDAKwB;AAExB,oCAAmC;AAEnC,SAAgB,sBAAsB,CACpC,EAAiB,EACjB,IAAuC,EACvC,KAAY,EACZ,WAAkC;IAElC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC;IAClE,OAAO,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC/D,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAA,2BAAY,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAsB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAoB;YAC7B,OAAO,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC;YACvB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3D,UAAU;SACX,CAAC;QAEF,IAAA,8CAAgC,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAA,oCAAsB,EAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAE7D,IAAI,MAAc,CAAC;QACnB,QAAQ,KAAK,CAAC,IAAI,EAAE;YAClB,KAAK,WAAW;gBACd,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChC,UAAU,CAAC,IAAI,CAAC;oBACd,KAAK;oBACL,MAAM,EAAE,MAAM,CAAC,UAAU;oBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;iBAClE,CAAC,CAAC;gBACH,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;SAC3D;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAExD,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnE,2CAA2C;QAC3C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AA9CD,wDA8CC"}
@@ -2,6 +2,6 @@ import DataLoader from "dataloader";
2
2
  import { Entity } from "../Entity";
3
3
  import { FilterAndSettings } from "../EntityFilter";
4
4
  import { EntityManager, MaybeAbstractEntityConstructor } from "../EntityManager";
5
- export declare function findDataLoader<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>): DataLoader<FilterAndSettings<T>, unknown[]>;
5
+ export declare function findDataLoader<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>, filter: FilterAndSettings<T>): DataLoader<FilterAndSettings<T>, unknown[]>;
6
6
  export declare function whereFilterHash(where: FilterAndSettings<any>): any;
7
7
  //# sourceMappingURL=findDataLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"findDataLoader.d.ts","sourceRoot":"","sources":["../../../src/dataloaders/findDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAE,MAAM,EAAY,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAEjF,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,GACtC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAQ7C;AAcD,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,GAAG,CAElE"}
1
+ {"version":3,"file":"findDataLoader.d.ts","sourceRoot":"","sources":["../../../src/dataloaders/findDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAE,MAAM,EAAY,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAe,aAAa,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAa9F,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACvC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAmG7C;AAcD,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,GAAG,CAElE"}
@@ -7,8 +7,89 @@ exports.whereFilterHash = exports.findDataLoader = void 0;
7
7
  const object_hash_1 = __importDefault(require("object-hash"));
8
8
  const Aliases_1 = require("../Aliases");
9
9
  const Entity_1 = require("../Entity");
10
- function findDataLoader(em, type) {
11
- return em.getLoader("find", type.name, (queries) => em.driver.find(em, type, queries),
10
+ const EntityGraphQLFilter_1 = require("../EntityGraphQLFilter");
11
+ const EntityManager_1 = require("../EntityManager");
12
+ const EntityMetadata_1 = require("../EntityMetadata");
13
+ const QueryParser_1 = require("../QueryParser");
14
+ const utils_1 = require("../utils");
15
+ function findDataLoader(em, type, filter) {
16
+ const { where, ...opts } = filter;
17
+ if (opts.limit || opts.offset) {
18
+ throw new Error("Cannot use limit/offset with findDataLoader");
19
+ }
20
+ const meta = (0, EntityMetadata_1.getMetadata)(type);
21
+ const query = (0, QueryParser_1.parseFindQuery)(meta, where, opts);
22
+ failIfUnsupportedCondition(query);
23
+ // Clone b/c parseFindQuery does not deep copy complex conditions, i.e. `a.firstName.eq(...)`
24
+ const clone = structuredClone(query);
25
+ stripValues(clone);
26
+ // We could use `whereFilterHash` too if it's faster?
27
+ const batchKey = JSON.stringify(clone);
28
+ return em.getLoader("find", batchKey, async (queries) => {
29
+ // We're guaranteed that these queries all have the same structure
30
+ // Don't bother with the CTE if there's only 1 query (or each query has exactly the same filter values)
31
+ if (queries.length === 1) {
32
+ const rows = await em.driver.executeFind(em, query, opts);
33
+ ensureUnderLimit(rows);
34
+ return [rows];
35
+ }
36
+ // WITH data(tag, arg1, arg2) AS (VALUES
37
+ // (1::int, 'a'::varchar, 'a'::varchar),
38
+ // (2, 'b', 'b'),
39
+ // (3, 'c', 'c')
40
+ // )
41
+ // SELECT array_agg(d.tag), a.*
42
+ // FROM authors a
43
+ // JOIN data d ON (d.arg1 = a.first_name OR d.arg2 = a.last_name)
44
+ // group by a.id;
45
+ // Build the list of 'arg1', 'arg2', ... strings
46
+ const args = collectArgs(query);
47
+ args.unshift({ name: "tag", dbType: meta.idType });
48
+ const selects = ["array_agg(_find.tag) as _tags", ...query.selects];
49
+ const [primary, innerJoins, outerJoins] = (0, QueryParser_1.getTables)(query);
50
+ // For each unique query, capture its filter values in `bindings` to populate the CTE _find table
51
+ const bindings = [];
52
+ queries.forEach((query, i) => {
53
+ const { where, ...opts } = query;
54
+ // add this query's `tag` value
55
+ bindings.push(i);
56
+ collectValues(bindings, (0, QueryParser_1.parseFindQuery)(meta, where, opts));
57
+ });
58
+ // Create the JOIN clause, i.e. ON a.firstName = _find.arg0
59
+ const [conditions] = buildConditions((0, QueryParser_1.combineConditions)(query));
60
+ const groupBys = selects
61
+ .filter((s) => !s.includes("array_agg") && !s.includes("CASE") && !s.includes(" as "))
62
+ .map((s) => s.replace("*", "id"));
63
+ const orderBys = query.orderBys || [{ alias: primary.alias, column: "id", order: "ASC" }];
64
+ for (const o of orderBys) {
65
+ if (o.alias !== primary.alias) {
66
+ groupBys.push(`${o.alias}.${o.column}`);
67
+ }
68
+ }
69
+ const sql = `
70
+ ${buildValuesCte("_find", args, queries)}
71
+ SELECT ${selects.join(", ")}
72
+ FROM ${primary.table} as ${primary.alias}
73
+ ${innerJoins.map((j) => `JOIN ${j.table} ${j.alias} ON ${j.col1} = ${j.col2}`).join(" ")}
74
+ ${outerJoins.map((j) => `LEFT OUTER JOIN ${j.table} ${j.alias} ON ${j.col1} = ${j.col2}`).join(" ")}
75
+ JOIN _find ON ${conditions}
76
+ GROUP BY ${groupBys.join(", ")}
77
+ ORDER BY ${orderBys.map((o) => `${o.alias}.${o.column} ${o.order}`).join(", ")}
78
+ LIMIT ${EntityManager_1.entityLimit};
79
+ `;
80
+ const rows = await em.driver.executeQuery(em, (0, utils_1.cleanSql)(sql), bindings);
81
+ ensureUnderLimit(rows);
82
+ // Make an empty array for each batched query, per the dataloader contract
83
+ const results = queries.map(() => []);
84
+ // Then put each row into the tagged query it matched
85
+ for (const row of rows) {
86
+ for (const tag of row._tags) {
87
+ results[tag].push(row);
88
+ }
89
+ delete row._tags;
90
+ }
91
+ return results;
92
+ },
12
93
  // Our filter/order tuple is a complex object, so object-hash it to ensure caching works
13
94
  { cacheKeyFn: whereFilterHash });
14
95
  }
@@ -28,4 +109,137 @@ function whereFilterHash(where) {
28
109
  return (0, object_hash_1.default)(where, { replacer, algorithm: "md5" });
29
110
  }
30
111
  exports.whereFilterHash = whereFilterHash;
112
+ /** Collects & names all the args in a query, i.e. `['arg1', 'arg2']`--not the actual values. */
113
+ function collectArgs(query) {
114
+ const args = [];
115
+ visit(query, {
116
+ visitCond(c) {
117
+ if ("value" in c.cond) {
118
+ const { kind } = c.cond;
119
+ if (kind === "in" || kind === "nin") {
120
+ args.push({ name: `arg${args.length}`, dbType: `${c.dbType}[]` });
121
+ }
122
+ else if (kind === "between") {
123
+ // between has two values
124
+ args.push({ name: `arg${args.length}`, dbType: c.dbType });
125
+ args.push({ name: `arg${args.length}`, dbType: c.dbType });
126
+ }
127
+ else {
128
+ args.push({ name: `arg${args.length}`, dbType: c.dbType });
129
+ }
130
+ }
131
+ },
132
+ });
133
+ return args;
134
+ }
135
+ /** Pushes the arg values of a given query in the cross-query `bindings` array. */
136
+ function collectValues(bindings, query) {
137
+ visit(query, {
138
+ visitCond(c) {
139
+ if ("value" in c.cond) {
140
+ // between has two values
141
+ if (c.cond.kind === "between") {
142
+ bindings.push(c.cond.value[0]);
143
+ bindings.push(c.cond.value[1]);
144
+ }
145
+ else {
146
+ bindings.push(c.cond.value);
147
+ }
148
+ }
149
+ },
150
+ });
151
+ }
152
+ /** Replaces all values with `*` so we can see the generic structure of the query. */
153
+ function stripValues(query) {
154
+ visit(query, {
155
+ visitCond(c) {
156
+ if ("value" in c.cond) {
157
+ c.cond.value = "*";
158
+ }
159
+ },
160
+ });
161
+ }
162
+ function visit(query, visitor) {
163
+ const { visitCond } = visitor;
164
+ function visitExpFilter(ef) {
165
+ ef.conditions.forEach((c) => {
166
+ if ("cond" in c) {
167
+ visitCond(c);
168
+ }
169
+ else {
170
+ visitExpFilter(c);
171
+ }
172
+ });
173
+ }
174
+ query.conditions.forEach(visitCond);
175
+ query.complexConditions?.forEach(visitExpFilter);
176
+ }
177
+ // Create the a1.firstName=data.firstName AND a2.lastName=data.lastName
178
+ function buildConditions(ef, argsIndex = 0) {
179
+ const conditions = [];
180
+ ef.conditions.forEach((c) => {
181
+ if ("cond" in c) {
182
+ const [op, argsTaken] = makeOp(c.cond, argsIndex);
183
+ conditions.push(`${c.alias}.${c.column} ${op}`);
184
+ argsIndex += argsTaken;
185
+ }
186
+ else {
187
+ let [cond, argsTaken] = buildConditions(c, argsIndex);
188
+ const needsWrap = !("cond" in c);
189
+ if (needsWrap)
190
+ cond = `(${cond})`;
191
+ conditions.push(cond);
192
+ argsIndex += argsTaken;
193
+ }
194
+ });
195
+ return [conditions.join(` ${ef.op.toUpperCase()} `), argsIndex];
196
+ }
197
+ function makeOp(cond, argsIndex) {
198
+ switch (cond.kind) {
199
+ case "eq":
200
+ case "ne":
201
+ case "gte":
202
+ case "gt":
203
+ case "lte":
204
+ case "lt":
205
+ case "like":
206
+ case "ilike":
207
+ const fn = EntityGraphQLFilter_1.opToFn[cond.kind] ?? fail(`Invalid operator ${cond.kind}`);
208
+ return [`${fn} _find.arg${argsIndex}`, 1];
209
+ case "is-null":
210
+ return [`IS NULL`, 0];
211
+ case "not-null":
212
+ return [`IS NOT NULL`, 0];
213
+ case "in":
214
+ return [`= ANY(_find.arg${argsIndex})`, 1];
215
+ case "nin":
216
+ return [`!= ALL(_find.arg${argsIndex})`, 1];
217
+ case "@>":
218
+ return [`@> _find.arg${argsIndex}`, 1];
219
+ case "between":
220
+ return [`BETWEEN _find.arg${argsIndex} AND _find.arg${argsIndex + 1}`, 2];
221
+ default:
222
+ (0, utils_1.assertNever)(cond);
223
+ }
224
+ }
225
+ function buildValuesCte(name, columns, rows) {
226
+ return `WITH ${name} (${columns.map((c) => c.name).join(", ")}) AS (VALUES
227
+ ${rows.map((_, i) => `(${columns.map((c) => (i === 0 ? `?::${c.dbType}` : `?`)).join(", ")})`).join(", ")}
228
+ )`;
229
+ }
230
+ function ensureUnderLimit(rows) {
231
+ if (rows.length >= EntityManager_1.entityLimit) {
232
+ throw new Error(`Query returned more than ${EntityManager_1.entityLimit} rows`);
233
+ }
234
+ }
235
+ function failIfUnsupportedCondition(query) {
236
+ visit(query, {
237
+ visitCond(c) {
238
+ const { kind } = c.cond;
239
+ if (kind === "@>") {
240
+ // throw new Error(`em.find does not support the '${kind}' operator, use 'findPaginated' instead`);
241
+ }
242
+ },
243
+ });
244
+ }
31
245
  //# sourceMappingURL=findDataLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findDataLoader.js","sourceRoot":"","sources":["../../../src/dataloaders/findDataLoader.ts"],"names":[],"mappings":";;;;;;AACA,8DAA+B;AAC/B,wCAAqC;AACrC,sCAA6C;AAI7C,SAAgB,cAAc,CAC5B,EAAiB,EACjB,IAAuC;IAEvC,OAAO,EAAE,CAAC,SAAS,CACjB,MAAM,EACN,IAAI,CAAC,IAAI,EACT,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC;IAC9C,wFAAwF;IACxF,EAAE,UAAU,EAAE,eAAe,EAAE,CAChC,CAAC;AACJ,CAAC;AAXD,wCAWC;AAED,wFAAwF;AACxF,SAAS,QAAQ,CAAC,CAAM;IACtB,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE;QACf,OAAO,CAAC,CAAC,EAAE,CAAC;KACb;IACD,6EAA6E;IAC7E,IAAI,IAAA,iBAAO,EAAC,CAAC,CAAC,EAAE;QACd,OAAO,OAAO,CAAC;KAChB;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,eAAe,CAAC,KAA6B;IAC3D,OAAO,IAAA,qBAAI,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AACrD,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"findDataLoader.js","sourceRoot":"","sources":["../../../src/dataloaders/findDataLoader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lensDataLoader.d.ts","sourceRoot":"","sources":["../../../src/dataloaders/lensDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAcjF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACvC,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,MAAM,EAAE,GACd,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAwJ7B"}
1
+ {"version":3,"file":"lensDataLoader.d.ts","sourceRoot":"","sources":["../../../src/dataloaders/lensDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAcjF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACvC,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,MAAM,EAAE,GACd,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAoK7B"}
@@ -49,8 +49,13 @@ function lensDataLoader(em, type, startIsArray, paths) {
49
49
  (0, QueryParser_1.maybeAddOrderBy)(query, target, alias);
50
50
  function maybeAddNotSoftDeleted(other, alias) {
51
51
  if (other.timestampFields.deletedAt) {
52
- const column = other.allFields[other.timestampFields.deletedAt].serde?.columns[0].columnName;
53
- conditions.push({ alias, column, cond: { kind: "is-null" } });
52
+ const column = other.allFields[other.timestampFields.deletedAt].serde?.columns[0];
53
+ conditions.push({
54
+ alias,
55
+ column: column.columnName,
56
+ dbType: column.dbType,
57
+ cond: { kind: "is-null" },
58
+ });
54
59
  }
55
60
  }
56
61
  let lastAlias = alias;
@@ -76,6 +81,7 @@ function lensDataLoader(em, type, startIsArray, paths) {
76
81
  conditions.push({
77
82
  alias,
78
83
  column: "id",
84
+ dbType: other.idType,
79
85
  cond: { kind: "in", value: (0, keys_1.deTagIds)(source, sourceIds) },
80
86
  });
81
87
  }
@@ -101,6 +107,7 @@ function lensDataLoader(em, type, startIsArray, paths) {
101
107
  conditions.push({
102
108
  alias: lastAlias,
103
109
  column: field.serde.columns[0].columnName,
110
+ dbType: field.serde.columns[0].dbType,
104
111
  cond: { kind: "in", value: (0, keys_1.deTagIds)(source, sourceIds) },
105
112
  });
106
113
  // Need to add filter for soft-deleted...
@@ -131,7 +138,12 @@ function lensDataLoader(em, type, startIsArray, paths) {
131
138
  maybeAddNotSoftDeleted(other, alias);
132
139
  if (isLast) {
133
140
  selects.push(`"${alias}".id as __source_id`);
134
- conditions.push({ alias, column: "id", cond: { kind: "in", value: (0, keys_1.deTagIds)(source, sourceIds) } });
141
+ conditions.push({
142
+ alias,
143
+ column: "id",
144
+ dbType: other.idType,
145
+ cond: { kind: "in", value: (0, keys_1.deTagIds)(source, sourceIds) },
146
+ });
135
147
  }
136
148
  resultIsArray = true;
137
149
  lastAlias = alias;