@stamhoofd/sql 2.74.0 → 2.75.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.
package/dist/src/SQL.d.ts CHANGED
@@ -11,7 +11,7 @@ import { ParseWhereArguments, SQLWhere } from './SQLWhere';
11
11
  declare class StaticSQL {
12
12
  wildcard(namespace?: string): SQLWildcardSelectExpression;
13
13
  column(...args: SQLColumnExpressionParams): SQLColumnExpression;
14
- jsonValue(column: SQLExpression, path: string): SQLJsonExtract;
14
+ jsonValue(column: SQLExpression, path: string, asScalar?: boolean): SQLJsonExtract;
15
15
  lpad(column: SQLExpression, length: number, value: string): SQLLpad;
16
16
  jsonUnquotedValue(column: SQLExpression, path: string): SQLJsonUnquote;
17
17
  jsonLength(column: SQLExpression, path?: string): SQLJsonLength;
@@ -1 +1 @@
1
- {"version":3,"file":"SQL.d.ts","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQL.d.ts","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"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"}
package/dist/src/SQL.js CHANGED
@@ -17,8 +17,8 @@ class StaticSQL {
17
17
  column(...args) {
18
18
  return new SQLExpressions_1.SQLColumnExpression(...args);
19
19
  }
20
- jsonValue(column, path) {
21
- return new SQLJsonExpressions_1.SQLJsonExtract(column, new SQLExpressions_1.SQLSafeValue(path));
20
+ jsonValue(column, path, asScalar = false) {
21
+ return new SQLJsonExpressions_1.SQLJsonExtract(column, asScalar ? new SQLExpressions_1.SQLScalar(path) : new SQLExpressions_1.SQLSafeValue(path));
22
22
  }
23
23
  lpad(column, length, value) {
24
24
  return new SQLJsonExpressions_1.SQLLpad(column, new SQLExpressions_1.SQLSafeValue(length), new SQLExpressions_1.SQLSafeValue(value));
@@ -1 +1 @@
1
- {"version":3,"file":"SQL.js","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQL.js","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
2
- import { SQLWhere } from './SQLWhere';
3
2
  export declare enum SQLJoinType {
4
3
  Left = "Left",
5
4
  Right = "Right",
@@ -10,8 +9,8 @@ declare class EmptyClass {
10
9
  }
11
10
  declare const SQLJoin_base: {
12
11
  new (...args: any[]): {
13
- _where: SQLWhere | null;
14
- readonly __where: SQLWhere;
12
+ _where: import("./SQLWhere").SQLWhere | null;
13
+ readonly __where: import("./SQLWhere").SQLWhere;
15
14
  where<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
16
15
  andWhere<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
17
16
  orWhere<T>(this: T, ...args: import("./SQLWhere").ParseWhereArguments): T;
@@ -1 +1 @@
1
- {"version":3,"file":"SQLJoin.d.ts","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAa,MAAM,YAAY,CAAC;AAEjD,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;CAClB;AAED,cAAM,UAAU;CAAG;;;;;;;;;;;;;AACnB,qBAAa,OAAQ,SAAQ,YAAsB,YAAW,aAAa;IACvE,IAAI,cAAoB;IACxB,KAAK,EAAE,aAAa,CAAC;gBAET,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa;IAMnD,OAAO,CAAC,aAAa;IASrB,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAQnD"}
1
+ {"version":3,"file":"SQLJoin.d.ts","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAG9F,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;CAClB;AAED,cAAM,UAAU;CAAG;;;;;;;;;;;;;AACnB,qBAAa,OAAQ,SAAQ,YAAsB,YAAW,aAAa;IACvE,IAAI,cAAoB;IACxB,KAAK,EAAE,aAAa,CAAC;gBAET,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa;IAMnD,OAAO,CAAC,aAAa;IASrB,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAQnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"SQLJoin.js","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":";;;AAAA,mDAA8F;AAC9F,yCAAiD;AAEjD,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,8BAAe,CAAA;IACf,8BAAe,CAAA;AACnB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED,MAAM,UAAU;CAAG;AACnB,MAAa,OAAQ,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;IAC9C,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IACxB,KAAK,CAAgB;IAErB,YAAY,IAAiB,EAAE,KAAoB;QAC/C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEO,aAAa;QACjB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC;YAC1C,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,YAAY,CAAC;YAC5C,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC;YACtC,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,YAAY,CAAC;QAChD,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC9B,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;SAC/B,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;CACJ;AA3BD,0BA2BC"}
1
+ {"version":3,"file":"SQLJoin.js","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":";;;AAAA,mDAA8F;AAC9F,yCAAuC;AAEvC,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,8BAAe,CAAA;IACf,8BAAe,CAAA;AACnB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED,MAAM,UAAU;CAAG;AACnB,MAAa,OAAQ,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;IAC9C,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IACxB,KAAK,CAAgB;IAErB,YAAY,IAAiB,EAAE,KAAoB;QAC/C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEO,aAAa;QACjB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC;YAC1C,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,YAAY,CAAC;YAC5C,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC;YACtC,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,YAAY,CAAC;QAChD,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC9B,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;SAC/B,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;CACJ;AA3BD,0BA2BC"}
@@ -48,6 +48,7 @@ export declare class SQLSelect<T extends object = SQLResultNamespacedRow> extend
48
48
  from(namespace: string, table: string): this;
49
49
  from(table: string): this;
50
50
  from(expression: SQLExpression): this;
51
+ select(...columns: (SQLExpression | string)[]): this;
51
52
  join(join: InstanceType<typeof SQLJoin>): this;
52
53
  groupBy(...columns: SQLExpression[]): this;
53
54
  setMaxExecutionTime(ms: number): this;
@@ -1 +1 @@
1
- {"version":3,"file":"SQLSelect.d.ts","sourceRoot":"","sources":["../../src/SQLSelect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLSelect.d.ts","sourceRoot":"","sources":["../../src/SQLSelect.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const SQLExpression_1 = require("./SQLExpression");
7
7
  const SQLExpressions_1 = require("./SQLExpressions");
8
8
  const SQLOrderBy_1 = require("./SQLOrderBy");
9
9
  const SQLWhere_1 = require("./SQLWhere");
10
+ const utility_1 = require("@stamhoofd/utility");
10
11
  class EmptyClass {
11
12
  }
12
13
  function parseTable(tableOrExpressiongOrNamespace, table) {
@@ -45,6 +46,10 @@ class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(Em
45
46
  this._from = parseTable(tableOrExpressiongOrNamespace, table);
46
47
  return this;
47
48
  }
49
+ select(...columns) {
50
+ this._columns.push(...columns.map(c => typeof c === 'string' ? new SQLExpressions_1.SQLColumnExpression(c) : c));
51
+ return this;
52
+ }
48
53
  join(join) {
49
54
  this._joins.push(join);
50
55
  return this;
@@ -75,7 +80,13 @@ class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(Em
75
80
  query.push((0, SQLExpression_1.joinSQLQuery)(columns, ', '));
76
81
  query.push('FROM');
77
82
  query.push(this._from.getSQL(options));
83
+ // Joins
78
84
  query.push(...this._joins.map(j => j.getSQL(options)));
85
+ if (this._where) {
86
+ const whereJoins = utility_1.Formatter.uniqueArray(this._where.getJoins()).filter(j => !this._joins.includes(j));
87
+ query.push(...whereJoins.map(j => j.getSQL(options)));
88
+ }
89
+ // Where
79
90
  if (this._where) {
80
91
  query.push('WHERE');
81
92
  query.push(this._where.getSQL(options));
@@ -103,7 +114,7 @@ class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(Em
103
114
  async fetch() {
104
115
  const { query, params } = (0, SQLExpression_1.normalizeSQLQuery)(this.getSQL());
105
116
  // when debugging: log all queries
106
- console.log(query, params);
117
+ // console.log(query, params);
107
118
  const [rows] = await simple_database_1.Database.select(query, params, { nestTables: true });
108
119
  // Now map aggregated queries to the correct namespace
109
120
  for (const row of rows) {
@@ -170,7 +181,7 @@ class SQLSelect extends (0, SQLWhere_1.Whereable)((0, SQLOrderBy_1.Orderable)(Em
170
181
  this._limit = null;
171
182
  this._orderBy = null;
172
183
  const { query, params } = (0, SQLExpression_1.normalizeSQLQuery)(this.getSQL());
173
- console.log(query, params);
184
+ // console.log(query, params);
174
185
  const [rows] = await simple_database_1.Database.select(query, params, { nestTables: true });
175
186
  if (rows.length === 1) {
176
187
  const row = rows[0];
@@ -1 +1 @@
1
- {"version":3,"file":"SQLSelect.js","sourceRoot":"","sources":["../../src/SQLSelect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLSelect.js","sourceRoot":"","sources":["../../src/SQLSelect.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
2
2
  import { SQLDynamicExpression } from './SQLExpressions';
3
+ import { SQLJoin } from './SQLJoin';
3
4
  type Constructor<T = {}> = new (...args: any[]) => T;
4
5
  export declare enum SQLWhereSign {
5
6
  Equal = "=",
@@ -27,7 +28,7 @@ export type ParseWhereArguments = [
27
28
  sign: SQLWhereSign | keyof typeof SQLWhereSignMap,
28
29
  value: SQLDynamicExpression
29
30
  ];
30
- export declare function Whereable<Sup extends Constructor<{}>>(Base: Sup): {
31
+ export declare function Whereable<Sup extends Constructor<object>>(Base: Sup): {
31
32
  new (...args: any[]): {
32
33
  _where: SQLWhere | null;
33
34
  readonly __where: SQLWhere;
@@ -46,6 +47,7 @@ export declare abstract class SQLWhere implements SQLExpression {
46
47
  orNot(...args: ParseWhereArguments): SQLWhere;
47
48
  get isSingle(): boolean;
48
49
  abstract getSQL(options?: SQLExpressionOptions): SQLQuery;
50
+ getJoins(): SQLJoin[];
49
51
  }
50
52
  export declare class SQLEmptyWhere extends SQLWhere {
51
53
  and(...args: ParseWhereArguments): SQLWhere;
@@ -89,21 +91,35 @@ export declare class SQLWhereExists extends SQLWhere {
89
91
  invert(): this;
90
92
  getSQL(options?: SQLExpressionOptions): SQLQuery;
91
93
  }
94
+ /**
95
+ * Convenience helper which also caries a separate join that should be injected in the query for the where to work
96
+ */
97
+ export declare class SQLWhereJoin extends SQLWhere {
98
+ join: SQLJoin;
99
+ where: SQLWhere;
100
+ constructor(join: SQLJoin, where: SQLWhere);
101
+ get isSingle(): boolean;
102
+ getSQL(options?: SQLExpressionOptions): SQLQuery;
103
+ getJoins(): SQLJoin[];
104
+ }
92
105
  export declare class SQLWhereAnd extends SQLWhere {
93
106
  children: SQLWhere[];
94
107
  constructor(children: SQLWhere[]);
95
108
  getSQL(options?: SQLExpressionOptions): SQLQuery;
109
+ getJoins(): SQLJoin[];
96
110
  }
97
111
  export declare class SQLWhereOr extends SQLWhere {
98
112
  children: SQLWhere[];
99
113
  constructor(children: SQLWhere[]);
100
114
  getSQL(options?: SQLExpressionOptions): SQLQuery;
115
+ getJoins(): SQLJoin[];
101
116
  }
102
117
  export declare class SQLWhereNot extends SQLWhere {
103
118
  a: SQLWhere;
104
119
  constructor(a: SQLWhere);
105
120
  get isSingle(): boolean;
106
121
  getSQL(options?: SQLExpressionOptions): SQLQuery;
122
+ getJoins(): SQLJoin[];
107
123
  }
108
124
  export {};
109
125
  //# sourceMappingURL=SQLWhere.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SQLWhere.d.ts","sourceRoot":"","sources":["../../src/SQLWhere.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLWhere.d.ts","sourceRoot":"","sources":["../../src/SQLWhere.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SQLWhereNot = exports.SQLWhereOr = exports.SQLWhereAnd = exports.SQLWhereExists = exports.SQLWhereLike = exports.SQLWhereEqual = exports.SQLEmptyWhere = exports.SQLWhere = exports.SQLWhereSignMap = exports.SQLWhereSign = void 0;
3
+ exports.SQLWhereNot = exports.SQLWhereOr = exports.SQLWhereAnd = exports.SQLWhereJoin = exports.SQLWhereExists = exports.SQLWhereLike = exports.SQLWhereEqual = exports.SQLEmptyWhere = exports.SQLWhere = exports.SQLWhereSignMap = exports.SQLWhereSign = void 0;
4
4
  exports.Whereable = Whereable;
5
5
  const SQLExpression_1 = require("./SQLExpression");
6
6
  const SQLExpressions_1 = require("./SQLExpressions");
@@ -91,6 +91,9 @@ class SQLWhere {
91
91
  get isSingle() {
92
92
  return false;
93
93
  }
94
+ getJoins() {
95
+ return [];
96
+ }
94
97
  }
95
98
  exports.SQLWhere = SQLWhere;
96
99
  class SQLEmptyWhere extends SQLWhere {
@@ -265,6 +268,28 @@ class SQLWhereExists extends SQLWhere {
265
268
  }
266
269
  }
267
270
  exports.SQLWhereExists = SQLWhereExists;
271
+ /**
272
+ * Convenience helper which also caries a separate join that should be injected in the query for the where to work
273
+ */
274
+ class SQLWhereJoin extends SQLWhere {
275
+ join;
276
+ where;
277
+ constructor(join, where) {
278
+ super();
279
+ this.join = join;
280
+ this.where = where;
281
+ }
282
+ get isSingle() {
283
+ return this.where.isSingle;
284
+ }
285
+ getSQL(options) {
286
+ return this.where.getSQL(options);
287
+ }
288
+ getJoins() {
289
+ return [this.join];
290
+ }
291
+ }
292
+ exports.SQLWhereJoin = SQLWhereJoin;
268
293
  class SQLWhereAnd extends SQLWhere {
269
294
  children;
270
295
  constructor(children) {
@@ -279,6 +304,9 @@ class SQLWhereAnd extends SQLWhere {
279
304
  return (0, SQLExpression_1.joinSQLQuery)(['(', c.getSQL(options), ')']);
280
305
  }), ' AND ');
281
306
  }
307
+ getJoins() {
308
+ return this.children.flatMap(c => c.getJoins());
309
+ }
282
310
  }
283
311
  exports.SQLWhereAnd = SQLWhereAnd;
284
312
  class SQLWhereOr extends SQLWhere {
@@ -295,6 +323,9 @@ class SQLWhereOr extends SQLWhere {
295
323
  return (0, SQLExpression_1.joinSQLQuery)(['(', c.getSQL(options), ')']);
296
324
  }), ' OR ');
297
325
  }
326
+ getJoins() {
327
+ return this.children.flatMap(c => c.getJoins());
328
+ }
298
329
  }
299
330
  exports.SQLWhereOr = SQLWhereOr;
300
331
  class SQLWhereNot extends SQLWhere {
@@ -317,6 +348,9 @@ class SQLWhereNot extends SQLWhere {
317
348
  params: sqlA.params,
318
349
  };
319
350
  }
351
+ getJoins() {
352
+ return this.a.getJoins();
353
+ }
320
354
  }
321
355
  exports.SQLWhereNot = SQLWhereNot;
322
356
  //# sourceMappingURL=SQLWhere.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SQLWhere.js","sourceRoot":"","sources":["../../src/SQLWhere.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLWhere.js","sourceRoot":"","sources":["../../src/SQLWhere.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,16 @@ import { SQLExpression } from '../SQLExpression';
3
3
  import { SQLColumnExpression, SQLScalarValue } from '../SQLExpressions';
4
4
  import { SQLSelect } from '../SQLSelect';
5
5
  import { SQLWhere } from '../SQLWhere';
6
+ import { SQLJoin } from '../SQLJoin';
6
7
  export type SQLFilterCompiler = (filter: StamhoofdFilter, filters: SQLFilterDefinitions) => Promise<SQLWhere | null> | SQLWhere | null;
7
8
  export type SQLFilterDefinitions = Record<string, SQLFilterCompiler>;
8
9
  export declare function andSQLFilterCompiler(filter: StamhoofdFilter, filters: SQLFilterDefinitions): Promise<SQLWhere>;
9
10
  export declare function orSQLFilterCompiler(filter: StamhoofdFilter, filters: SQLFilterDefinitions): Promise<SQLWhere>;
10
11
  export declare function notSQLFilterCompiler(filter: StamhoofdFilter, filters: SQLFilterDefinitions): Promise<SQLWhere>;
12
+ /**
13
+ * WARNING: only use this on one-to-one relations. Using it on one-to-many relations will result in duplicate results.
14
+ */
15
+ export declare function createSQLJoinedRelationFilterCompiler(join: SQLJoin, definitions: SQLFilterDefinitions): SQLFilterCompiler;
11
16
  export declare function createSQLRelationFilterCompiler(baseSelect: InstanceType<typeof SQLSelect> & SQLExpression, definitions: SQLFilterDefinitions): SQLFilterCompiler;
12
17
  export declare function createSQLFilterNamespace(definitions: SQLFilterDefinitions): SQLFilterCompiler;
13
18
  export declare enum SQLValueType {
@@ -1 +1 @@
1
- {"version":3,"file":"SQLFilter.d.ts","sourceRoot":"","sources":["../../../src/filters/SQLFilter.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAqB,mBAAmB,EAAmC,cAAc,EAAyB,MAAM,mBAAmB,CAAC;AAEnJ,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAmG,MAAM,aAAa,CAAC;AAExI,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC;AACvI,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAErE,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAGpH;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAGnH;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAGpH;AA6ED,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,aAAa,EAAE,WAAW,EAAE,oBAAoB,GAAG,iBAAiB,CAYhK;AAGD,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,oBAAoB,GAAG,iBAAiB,CAI7F;AAED,oBAAY,YAAY;IACpB,WAAW,gBAAgB;IAC3B,UAAU,eAAe;CAC5B;AAED,KAAK,0BAA0B,GAAG;IAC9B,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,KAAK,cAAc,GAAG,IAAI,CAAC;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,CAAC;AAEF,wBAAgB,iCAAiC,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,GAAE,0BAA+B,GAAG,iBAAiB,CA8Q3I;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,iBAAiB,CAGzI;AAED,eAAO,MAAM,sBAAsB,EAAE,oBAIpC,CAAC;AAsDF,eAAO,MAAM,kBAAkB,6BAAuB,CAAC"}
1
+ {"version":3,"file":"SQLFilter.d.ts","sourceRoot":"","sources":["../../../src/filters/SQLFilter.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAqB,mBAAmB,EAAmC,cAAc,EAAyB,MAAM,mBAAmB,CAAC;AAEnJ,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAiH,MAAM,aAAa,CAAC;AACtJ,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC;AACvI,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAErE,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAGpH;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAGnH;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAGpH;AA6ED;;GAEG;AACH,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,GAAG,iBAAiB,CAazH;AAED,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,aAAa,EAAE,WAAW,EAAE,oBAAoB,GAAG,iBAAiB,CAgBhK;AAGD,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,oBAAoB,GAAG,iBAAiB,CAI7F;AAED,oBAAY,YAAY;IACpB,WAAW,gBAAgB;IAC3B,UAAU,eAAe;CAC5B;AAED,KAAK,0BAA0B,GAAG;IAC9B,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,KAAK,cAAc,GAAG,IAAI,CAAC;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,CAAC;AAEF,wBAAgB,iCAAiC,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,GAAE,0BAA+B,GAAG,iBAAiB,CAkR3I;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,iBAAiB,CAGzI;AAED,eAAO,MAAM,sBAAsB,EAAE,oBAIpC,CAAC;AA0FF,eAAO,MAAM,kBAAkB,6BAAuB,CAAC"}
@@ -4,6 +4,7 @@ exports.compileToSQLFilter = exports.baseSQLFilterCompilers = exports.SQLValueTy
4
4
  exports.andSQLFilterCompiler = andSQLFilterCompiler;
5
5
  exports.orSQLFilterCompiler = orSQLFilterCompiler;
6
6
  exports.notSQLFilterCompiler = notSQLFilterCompiler;
7
+ exports.createSQLJoinedRelationFilterCompiler = createSQLJoinedRelationFilterCompiler;
7
8
  exports.createSQLRelationFilterCompiler = createSQLRelationFilterCompiler;
8
9
  exports.createSQLFilterNamespace = createSQLFilterNamespace;
9
10
  exports.createSQLExpressionFilterCompiler = createSQLExpressionFilterCompiler;
@@ -84,6 +85,21 @@ function doNormalizeValue(val, options) {
84
85
  }
85
86
  return val;
86
87
  }
88
+ /**
89
+ * WARNING: only use this on one-to-one relations. Using it on one-to-many relations will result in duplicate results.
90
+ */
91
+ function createSQLJoinedRelationFilterCompiler(join, definitions) {
92
+ return async (filter) => {
93
+ const f = filter;
94
+ if ('$elemMatch' in f) {
95
+ // $elemMatch is also supported but not required (since this is a one-to-one relation)
96
+ const w = await (0, exports.compileToSQLFilter)(f['$elemMatch'], definitions);
97
+ return new SQLWhere_1.SQLWhereJoin(join, w);
98
+ }
99
+ const w = await (0, exports.compileToSQLFilter)(filter, definitions);
100
+ return new SQLWhere_1.SQLWhereJoin(join, w);
101
+ };
102
+ }
87
103
  function createSQLRelationFilterCompiler(baseSelect, definitions) {
88
104
  return async (filter) => {
89
105
  const f = filter;
@@ -92,7 +108,11 @@ function createSQLRelationFilterCompiler(baseSelect, definitions) {
92
108
  const q = baseSelect.clone().where(w);
93
109
  return new SQLWhere_1.SQLWhereExists(q);
94
110
  }
95
- throw new Error('Invalid filter');
111
+ throw new simple_errors_1.SimpleError({
112
+ code: 'invalid_filter',
113
+ message: 'Invalid filter',
114
+ human: $t('a5c30846-b8ae-410d-8fcd-bfc3f127623d'),
115
+ });
96
116
  };
97
117
  }
98
118
  // Already joined, but creates a namespace
@@ -286,7 +306,11 @@ function createSQLExpressionFilterCompiler(sqlExpression, options = {}) {
286
306
  }
287
307
  return new SQLWhere_1.SQLWhereLike(sqlExpression, convertToExpression('%' + SQLWhere_1.SQLWhereLike.escape(needle) + '%'));
288
308
  }
289
- throw new Error('Invalid filter ' + JSON.stringify(f));
309
+ throw new simple_errors_1.SimpleError({
310
+ code: 'invalid_filter',
311
+ message: 'Invalid filter',
312
+ human: $t('a5c30846-b8ae-410d-8fcd-bfc3f127623d'),
313
+ });
290
314
  };
291
315
  }
292
316
  function createSQLColumnFilterCompiler(name, options) {
@@ -328,13 +352,42 @@ async function compileSQLFilter(filter, definitions) {
328
352
  continue;
329
353
  }
330
354
  for (const key of Object.keys(f)) {
331
- const ff = definitions[key];
355
+ let ff = definitions[key];
356
+ let value = f[key];
332
357
  if (!ff) {
333
- throw new Error('Unsupported filter ' + key);
358
+ // Search with dot syntax shortcuts
359
+ if (key.includes('.')) {
360
+ const parts = key.split('.');
361
+ if (parts.length >= 2 && parts.every(p => p.length > 0)) {
362
+ let subKey = parts.shift() ?? '';
363
+ while (parts.length && !definitions[subKey]) {
364
+ subKey = subKey + '.' + parts.shift();
365
+ }
366
+ if (subKey && definitions[subKey]) {
367
+ const remaining = parts.join('.');
368
+ const transformeInto = {
369
+ [remaining]: value,
370
+ };
371
+ ff = definitions[subKey];
372
+ value = transformeInto;
373
+ }
374
+ }
375
+ }
334
376
  }
335
- const s = await ff(f[key], definitions);
377
+ if (!ff) {
378
+ throw new simple_errors_1.SimpleError({
379
+ code: 'invalid_filter',
380
+ message: 'Invalid filter ' + key,
381
+ human: $t('a5c30846-b8ae-410d-8fcd-bfc3f127623d'),
382
+ });
383
+ }
384
+ const s = await ff(value, definitions);
336
385
  if (s === undefined || s === null) {
337
- throw new Error('Unsupported filter value for ' + key);
386
+ throw new simple_errors_1.SimpleError({
387
+ code: 'invalid_filter',
388
+ message: 'Invalid filter value for filter ' + key,
389
+ human: $t('a5c30846-b8ae-410d-8fcd-bfc3f127623d'),
390
+ });
338
391
  }
339
392
  runners.push(s);
340
393
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SQLFilter.js","sourceRoot":"","sources":["../../../src/filters/SQLFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLFilter.js","sourceRoot":"","sources":["../../../src/filters/SQLFilter.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
1
  import { PlainObject } from '@simonbackx/simple-encoding';
2
2
  import { SortDefinition, SortList } from '@stamhoofd/structures';
3
3
  import { SQLOrderBy, SQLOrderByDirection } from '../SQLOrderBy';
4
+ import { SQLSelect } from '../SQLSelect';
5
+ import { SQLJoin } from '../SQLJoin';
6
+ import { SQLExpression } from '../SQLExpression';
4
7
  export type SQLSortDefinition<T, B extends PlainObject | Date = PlainObject | Date> = SortDefinition<T, B> & {
5
8
  toSQL(direction: SQLOrderByDirection): SQLOrderBy;
9
+ join?: SQLJoin;
10
+ select?: (SQLExpression | string)[];
6
11
  };
7
12
  export type SQLSortDefinitions<T = any> = Record<string, SQLSortDefinition<T>>;
8
- export declare function compileToSQLSorter(sortBy: SortList, definitions: SQLSortDefinitions): SQLOrderBy;
13
+ export declare function applySQLSorter(selectQuery: SQLSelect<any>, sortBy: SortList, definitions: SQLSortDefinitions): void;
9
14
  //# sourceMappingURL=SQLSorter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SQLSorter.d.ts","sourceRoot":"","sources":["../../../src/filters/SQLSorter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGhE,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IACzG,KAAK,CAAC,SAAS,EAAE,mBAAmB,GAAG,UAAU,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,GAAG,UAAU,CAwBhG"}
1
+ {"version":3,"file":"SQLSorter.d.ts","sourceRoot":"","sources":["../../../src/filters/SQLSorter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IACzG,KAAK,CAAC,SAAS,EAAE,mBAAmB,GAAG,UAAU,CAAC;IAClD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E,wBAAgB,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,QA0C5G"}
@@ -1,26 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.compileToSQLSorter = compileToSQLSorter;
4
- const SQLOrderBy_1 = require("../SQLOrderBy");
3
+ exports.applySQLSorter = applySQLSorter;
5
4
  const simple_errors_1 = require("@simonbackx/simple-errors");
6
- function compileToSQLSorter(sortBy, definitions) {
5
+ function applySQLSorter(selectQuery, sortBy, definitions) {
7
6
  if (sortBy.length === 0) {
8
7
  throw new simple_errors_1.SimpleError({
9
8
  code: 'empty_sort',
10
9
  message: 'No sort passed',
11
10
  });
12
11
  }
13
- const sorters = [];
14
12
  for (const s of sortBy) {
15
13
  const d = definitions[s.key];
16
14
  if (!d) {
17
15
  throw new Error('Unknown sort key ' + s.key);
18
16
  }
19
- sorters.push(d.toSQL(s.order));
20
- }
21
- if (sorters.length === 0) {
22
- throw new Error('No sortBy passed');
17
+ selectQuery.orderBy(d.toSQL(s.order));
18
+ if (d.join) {
19
+ // Check if no overlap in alias/table (otherwise we'll get issues)
20
+ if (selectQuery._joins.find(j => j === d.join)) {
21
+ // Already added
22
+ }
23
+ else {
24
+ const name = d.join.table.getSQL({ defaultNamespace: 'default' });
25
+ for (const j of selectQuery._joins) {
26
+ if (j.table.getSQL({ defaultNamespace: 'default' }) === name) {
27
+ throw new simple_errors_1.SimpleError({
28
+ code: 'sorter_join_overlap',
29
+ message: 'This combination of sorters is not possible',
30
+ human: 'Deze combinatie van sorteringen is niet mogelijk',
31
+ });
32
+ }
33
+ }
34
+ selectQuery.join(d.join);
35
+ }
36
+ }
37
+ if (d.select) {
38
+ selectQuery.select(...d.select);
39
+ }
23
40
  }
24
- return SQLOrderBy_1.SQLOrderBy.combine(sorters);
25
41
  }
26
42
  //# sourceMappingURL=SQLSorter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SQLSorter.js","sourceRoot":"","sources":["../../../src/filters/SQLSorter.ts"],"names":[],"mappings":";;AAYA,gDAwBC;AAjCD,8CAAgE;AAChE,6DAAwD;AAQxD,SAAgB,kBAAkB,CAAC,MAAgB,EAAE,WAA+B;IAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,2BAAW,CAAC;YAClB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,gBAAgB;SAC5B,CAAC,CAAC;IACP,CAAC;IAED,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,uBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"SQLSorter.js","sourceRoot":"","sources":["../../../src/filters/SQLSorter.ts"],"names":[],"mappings":";;AAiBA,wCA0CC;AAvDD,6DAAwD;AAaxD,SAAgB,cAAc,CAAC,WAA2B,EAAE,MAAgB,EAAE,WAA+B;IACzG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,2BAAW,CAAC;YAClB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,gBAAgB;SAC5B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACT,kEAAkE;YAClE,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,gBAAgB;YACpB,CAAC;iBACI,CAAC;gBACF,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC;gBAElE,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;oBACjC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC3D,MAAM,IAAI,2BAAW,CAAC;4BAClB,IAAI,EAAE,qBAAqB;4BAC3B,OAAO,EAAE,6CAA6C;4BACtD,KAAK,EAAE,kDAAkD;yBAC5D,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBAED,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACX,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/sql",
3
- "version": "2.74.0",
3
+ "version": "2.75.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -15,5 +15,5 @@
15
15
  "publishConfig": {
16
16
  "access": "public"
17
17
  },
18
- "gitHead": "3a77692b8163f10c231785de2f720c423a909762"
18
+ "gitHead": "4710a9386f9f489356e04518622cc83c5faa2bf1"
19
19
  }
package/src/SQL.ts CHANGED
@@ -18,8 +18,8 @@ class StaticSQL {
18
18
  return new SQLColumnExpression(...args);
19
19
  }
20
20
 
21
- jsonValue(column: SQLExpression, path: string): SQLJsonExtract {
22
- return new SQLJsonExtract(column, new SQLSafeValue(path));
21
+ jsonValue(column: SQLExpression, path: string, asScalar = false): SQLJsonExtract {
22
+ return new SQLJsonExtract(column, asScalar ? new SQLScalar(path) : new SQLSafeValue(path));
23
23
  }
24
24
 
25
25
  lpad(column: SQLExpression, length: number, value: string): SQLLpad {
package/src/SQLJoin.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { SQLExpression, SQLExpressionOptions, SQLQuery, joinSQLQuery } from './SQLExpression';
2
- import { SQLWhere, Whereable } from './SQLWhere';
2
+ import { Whereable } from './SQLWhere';
3
3
 
4
4
  export enum SQLJoinType {
5
5
  Left = 'Left',
package/src/SQLSelect.ts CHANGED
@@ -3,7 +3,8 @@ import { SQLExpression, SQLExpressionOptions, SQLQuery, joinSQLQuery, normalizeS
3
3
  import { SQLAlias, SQLColumnExpression, SQLCount, SQLSelectAs, SQLSum, SQLTableExpression } from './SQLExpressions';
4
4
  import { SQLJoin } from './SQLJoin';
5
5
  import { Orderable } from './SQLOrderBy';
6
- import { SQLWhereSign, Whereable } from './SQLWhere';
6
+ import { Whereable } from './SQLWhere';
7
+ import { Formatter } from '@stamhoofd/utility';
7
8
 
8
9
  class EmptyClass {}
9
10
 
@@ -69,6 +70,11 @@ export class SQLSelect<T extends object = SQLResultNamespacedRow> extends Wherea
69
70
  return this;
70
71
  }
71
72
 
73
+ select(...columns: (SQLExpression | string)[]): this {
74
+ this._columns.push(...columns.map(c => typeof c === 'string' ? new SQLColumnExpression(c) : c));
75
+ return this;
76
+ }
77
+
72
78
  join(join: InstanceType<typeof SQLJoin>): this {
73
79
  this._joins.push(join);
74
80
  return this;
@@ -113,8 +119,14 @@ export class SQLSelect<T extends object = SQLResultNamespacedRow> extends Wherea
113
119
 
114
120
  query.push(this._from.getSQL(options));
115
121
 
122
+ // Joins
116
123
  query.push(...this._joins.map(j => j.getSQL(options)));
124
+ if (this._where) {
125
+ const whereJoins = Formatter.uniqueArray(this._where.getJoins()).filter(j => !this._joins.includes(j));
126
+ query.push(...whereJoins.map(j => j.getSQL(options)));
127
+ }
117
128
 
129
+ // Where
118
130
  if (this._where) {
119
131
  query.push('WHERE');
120
132
  query.push(this._where.getSQL(options));
@@ -154,7 +166,7 @@ export class SQLSelect<T extends object = SQLResultNamespacedRow> extends Wherea
154
166
  const { query, params } = normalizeSQLQuery(this.getSQL());
155
167
 
156
168
  // when debugging: log all queries
157
- console.log(query, params);
169
+ // console.log(query, params);
158
170
  const [rows] = await Database.select(query, params, { nestTables: true });
159
171
 
160
172
  // Now map aggregated queries to the correct namespace
@@ -238,7 +250,7 @@ export class SQLSelect<T extends object = SQLResultNamespacedRow> extends Wherea
238
250
  this._orderBy = null;
239
251
 
240
252
  const { query, params } = normalizeSQLQuery(this.getSQL());
241
- console.log(query, params);
253
+ // console.log(query, params);
242
254
 
243
255
  const [rows] = await Database.select(query, params, { nestTables: true });
244
256
  if (rows.length === 1) {
package/src/SQLWhere.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { SQLExpression, SQLExpressionOptions, SQLQuery, joinSQLQuery, normalizeSQLQuery } from './SQLExpression';
2
2
  import { SQLArray, SQLColumnExpression, SQLDynamicExpression, SQLNull, readDynamicSQLExpression } from './SQLExpressions';
3
+ import { SQLJoin } from './SQLJoin';
3
4
 
4
5
  type Constructor<T = {}> = new (...args: any[]) => T;
5
6
 
@@ -43,7 +44,7 @@ function assertWhereable(o: any): any {
43
44
  return o;
44
45
  }
45
46
 
46
- export function Whereable<Sup extends Constructor<{}>>(Base: Sup) {
47
+ export function Whereable<Sup extends Constructor<object>>(Base: Sup) {
47
48
  return class extends Base {
48
49
  _where: SQLWhere | null = null;
49
50
 
@@ -121,6 +122,9 @@ export abstract class SQLWhere implements SQLExpression {
121
122
  }
122
123
 
123
124
  abstract getSQL(options?: SQLExpressionOptions): SQLQuery;
125
+ getJoins(): SQLJoin[] {
126
+ return [];
127
+ }
124
128
  }
125
129
 
126
130
  export class SQLEmptyWhere extends SQLWhere {
@@ -339,6 +343,32 @@ export class SQLWhereExists extends SQLWhere {
339
343
  }
340
344
  }
341
345
 
346
+ /**
347
+ * Convenience helper which also caries a separate join that should be injected in the query for the where to work
348
+ */
349
+ export class SQLWhereJoin extends SQLWhere {
350
+ join: SQLJoin;
351
+ where: SQLWhere;
352
+
353
+ constructor(join: SQLJoin, where: SQLWhere) {
354
+ super();
355
+ this.join = join;
356
+ this.where = where;
357
+ }
358
+
359
+ get isSingle(): boolean {
360
+ return this.where.isSingle;
361
+ }
362
+
363
+ getSQL(options?: SQLExpressionOptions): SQLQuery {
364
+ return this.where.getSQL(options);
365
+ }
366
+
367
+ getJoins(): SQLJoin[] {
368
+ return [this.join];
369
+ }
370
+ }
371
+
342
372
  export class SQLWhereAnd extends SQLWhere {
343
373
  children: SQLWhere[];
344
374
 
@@ -358,6 +388,10 @@ export class SQLWhereAnd extends SQLWhere {
358
388
  ' AND ',
359
389
  );
360
390
  }
391
+
392
+ getJoins(): SQLJoin[] {
393
+ return this.children.flatMap(c => c.getJoins());
394
+ }
361
395
  }
362
396
 
363
397
  export class SQLWhereOr extends SQLWhere {
@@ -379,6 +413,10 @@ export class SQLWhereOr extends SQLWhere {
379
413
  ' OR ',
380
414
  );
381
415
  }
416
+
417
+ getJoins(): SQLJoin[] {
418
+ return this.children.flatMap(c => c.getJoins());
419
+ }
382
420
  }
383
421
 
384
422
  export class SQLWhereNot extends SQLWhere {
@@ -406,4 +444,8 @@ export class SQLWhereNot extends SQLWhere {
406
444
  params: sqlA.params,
407
445
  };
408
446
  }
447
+
448
+ getJoins(): SQLJoin[] {
449
+ return this.a.getJoins();
450
+ }
409
451
  }
@@ -5,7 +5,8 @@ import { SQLExpression } from '../SQLExpression';
5
5
  import { SQLArray, SQLCast, SQLColumnExpression, SQLLower, SQLNull, SQLSafeValue, SQLScalarValue, scalarToSQLExpression } from '../SQLExpressions';
6
6
  import { SQLJsonContains, SQLJsonOverlaps, SQLJsonSearch, SQLJsonUnquote, scalarToSQLJSONExpression } from '../SQLJsonExpressions';
7
7
  import { SQLSelect } from '../SQLSelect';
8
- import { SQLWhere, SQLWhereAnd, SQLWhereEqual, SQLWhereExists, SQLWhereLike, SQLWhereNot, SQLWhereOr, SQLWhereSign } from '../SQLWhere';
8
+ import { SQLWhere, SQLWhereAnd, SQLWhereEqual, SQLWhereExists, SQLWhereJoin, SQLWhereLike, SQLWhereNot, SQLWhereOr, SQLWhereSign } from '../SQLWhere';
9
+ import { SQLJoin } from '../SQLJoin';
9
10
 
10
11
  export type SQLFilterCompiler = (filter: StamhoofdFilter, filters: SQLFilterDefinitions) => Promise<SQLWhere | null> | SQLWhere | null;
11
12
  export type SQLFilterDefinitions = Record<string, SQLFilterCompiler>;
@@ -100,6 +101,24 @@ function doNormalizeValue(val: StamhoofdCompareValue, options?: SQLExpressionFil
100
101
  return val;
101
102
  }
102
103
 
104
+ /**
105
+ * WARNING: only use this on one-to-one relations. Using it on one-to-many relations will result in duplicate results.
106
+ */
107
+ export function createSQLJoinedRelationFilterCompiler(join: SQLJoin, definitions: SQLFilterDefinitions): SQLFilterCompiler {
108
+ return async (filter: StamhoofdFilter) => {
109
+ const f = filter as any;
110
+
111
+ if ('$elemMatch' in f) {
112
+ // $elemMatch is also supported but not required (since this is a one-to-one relation)
113
+ const w = await compileToSQLFilter(f['$elemMatch'] as StamhoofdFilter, definitions);
114
+ return new SQLWhereJoin(join, w);
115
+ }
116
+
117
+ const w = await compileToSQLFilter(filter, definitions);
118
+ return new SQLWhereJoin(join, w);
119
+ };
120
+ }
121
+
103
122
  export function createSQLRelationFilterCompiler(baseSelect: InstanceType<typeof SQLSelect> & SQLExpression, definitions: SQLFilterDefinitions): SQLFilterCompiler {
104
123
  return async (filter: StamhoofdFilter) => {
105
124
  const f = filter as any;
@@ -110,7 +129,11 @@ export function createSQLRelationFilterCompiler(baseSelect: InstanceType<typeof
110
129
  return new SQLWhereExists(q);
111
130
  }
112
131
 
113
- throw new Error('Invalid filter');
132
+ throw new SimpleError({
133
+ code: 'invalid_filter',
134
+ message: 'Invalid filter',
135
+ human: $t('a5c30846-b8ae-410d-8fcd-bfc3f127623d'),
136
+ });
114
137
  };
115
138
  }
116
139
 
@@ -407,7 +430,11 @@ export function createSQLExpressionFilterCompiler(sqlExpression: SQLExpression,
407
430
  );
408
431
  }
409
432
 
410
- throw new Error('Invalid filter ' + JSON.stringify(f));
433
+ throw new SimpleError({
434
+ code: 'invalid_filter',
435
+ message: 'Invalid filter',
436
+ human: $t('a5c30846-b8ae-410d-8fcd-bfc3f127623d'),
437
+ });
411
438
  };
412
439
  }
413
440
 
@@ -458,14 +485,50 @@ async function compileSQLFilter(filter: StamhoofdFilter, definitions: SQLFilterD
458
485
  }
459
486
 
460
487
  for (const key of Object.keys(f)) {
461
- const ff = definitions[key];
488
+ let ff = definitions[key];
489
+ let value: StamhoofdFilter = f[key];
490
+
491
+ if (!ff) {
492
+ // Search with dot syntax shortcuts
493
+ if (key.includes('.')) {
494
+ const parts = key.split('.');
495
+
496
+ if (parts.length >= 2 && parts.every(p => p.length > 0)) {
497
+ let subKey = parts.shift() ?? '';
498
+
499
+ while (parts.length && !definitions[subKey]) {
500
+ subKey = subKey + '.' + parts.shift();
501
+ }
502
+
503
+ if (subKey && definitions[subKey]) {
504
+ const remaining = parts.join('.');
505
+
506
+ const transformeInto = {
507
+ [remaining]: value,
508
+ };
509
+
510
+ ff = definitions[subKey];
511
+ value = transformeInto;
512
+ }
513
+ }
514
+ }
515
+ }
516
+
462
517
  if (!ff) {
463
- throw new Error('Unsupported filter ' + key);
518
+ throw new SimpleError({
519
+ code: 'invalid_filter',
520
+ message: 'Invalid filter ' + key,
521
+ human: $t('a5c30846-b8ae-410d-8fcd-bfc3f127623d'),
522
+ });
464
523
  }
465
524
 
466
- const s = await ff(f[key] as StamhoofdFilter, definitions);
525
+ const s = await ff(value, definitions);
467
526
  if (s === undefined || s === null) {
468
- throw new Error('Unsupported filter value for ' + key);
527
+ throw new SimpleError({
528
+ code: 'invalid_filter',
529
+ message: 'Invalid filter value for filter ' + key,
530
+ human: $t('a5c30846-b8ae-410d-8fcd-bfc3f127623d'),
531
+ });
469
532
  }
470
533
  runners.push(s);
471
534
  }
@@ -3,14 +3,19 @@ import { SortDefinition, SortList } from '@stamhoofd/structures';
3
3
 
4
4
  import { SQLOrderBy, SQLOrderByDirection } from '../SQLOrderBy';
5
5
  import { SimpleError } from '@simonbackx/simple-errors';
6
+ import { SQLSelect } from '../SQLSelect';
7
+ import { SQLJoin } from '../SQLJoin';
8
+ import { SQLExpression } from '../SQLExpression';
6
9
 
7
10
  export type SQLSortDefinition<T, B extends PlainObject | Date = PlainObject | Date> = SortDefinition<T, B> & {
8
11
  toSQL(direction: SQLOrderByDirection): SQLOrderBy;
12
+ join?: SQLJoin;
13
+ select?: (SQLExpression | string)[];
9
14
  };
10
15
 
11
16
  export type SQLSortDefinitions<T = any> = Record<string, SQLSortDefinition<T>>;
12
17
 
13
- export function compileToSQLSorter(sortBy: SortList, definitions: SQLSortDefinitions): SQLOrderBy {
18
+ export function applySQLSorter(selectQuery: SQLSelect<any>, sortBy: SortList, definitions: SQLSortDefinitions) {
14
19
  if (sortBy.length === 0) {
15
20
  throw new SimpleError({
16
21
  code: 'empty_sort',
@@ -18,20 +23,38 @@ export function compileToSQLSorter(sortBy: SortList, definitions: SQLSortDefinit
18
23
  });
19
24
  }
20
25
 
21
- const sorters: SQLOrderBy[] = [];
22
-
23
26
  for (const s of sortBy) {
24
27
  const d = definitions[s.key];
25
28
  if (!d) {
26
29
  throw new Error('Unknown sort key ' + s.key);
27
30
  }
28
31
 
29
- sorters.push(d.toSQL(s.order));
30
- }
32
+ selectQuery.orderBy(d.toSQL(s.order));
33
+
34
+ if (d.join) {
35
+ // Check if no overlap in alias/table (otherwise we'll get issues)
36
+ if (selectQuery._joins.find(j => j === d.join)) {
37
+ // Already added
38
+ }
39
+ else {
40
+ const name = d.join.table.getSQL({ defaultNamespace: 'default' });
41
+
42
+ for (const j of selectQuery._joins) {
43
+ if (j.table.getSQL({ defaultNamespace: 'default' }) === name) {
44
+ throw new SimpleError({
45
+ code: 'sorter_join_overlap',
46
+ message: 'This combination of sorters is not possible',
47
+ human: 'Deze combinatie van sorteringen is niet mogelijk',
48
+ });
49
+ }
50
+ }
51
+
52
+ selectQuery.join(d.join);
53
+ }
54
+ }
31
55
 
32
- if (sorters.length === 0) {
33
- throw new Error('No sortBy passed');
56
+ if (d.select) {
57
+ selectQuery.select(...d.select);
58
+ }
34
59
  }
35
-
36
- return SQLOrderBy.combine(sorters);
37
60
  }