@vendure/core 3.5.2-master-202512190240 → 3.5.2
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/plugin/default-scheduler-plugin/default-scheduler-strategy.d.ts +12 -0
- package/dist/plugin/default-scheduler-plugin/default-scheduler-strategy.js +58 -10
- package/dist/plugin/default-scheduler-plugin/default-scheduler-strategy.js.map +1 -1
- package/dist/service/helpers/list-query-builder/list-query-builder.d.ts +27 -0
- package/dist/service/helpers/list-query-builder/list-query-builder.js +229 -16
- package/dist/service/helpers/list-query-builder/list-query-builder.js.map +1 -1
- package/dist/service/helpers/list-query-builder/parse-filter-params.d.ts +65 -7
- package/dist/service/helpers/list-query-builder/parse-filter-params.js +85 -4
- package/dist/service/helpers/list-query-builder/parse-filter-params.js.map +1 -1
- package/package.json +2 -2
|
@@ -31,5 +31,17 @@ export declare class DefaultSchedulerStrategy implements SchedulerStrategy {
|
|
|
31
31
|
private checkForManuallyTriggeredTasks;
|
|
32
32
|
private entityToReport;
|
|
33
33
|
private ensureAllTasksAreRegistered;
|
|
34
|
+
/**
|
|
35
|
+
* Attempts to acquire a lock for the given task.
|
|
36
|
+
*
|
|
37
|
+
* For databases that support pessimistic locking (PostgreSQL, MySQL, MariaDB),
|
|
38
|
+
* we use SELECT ... FOR UPDATE to ensure only one worker can acquire the lock.
|
|
39
|
+
* This is necessary because PostgreSQL's MVCC can allow multiple concurrent
|
|
40
|
+
* UPDATE statements to succeed when using a simple "UPDATE ... WHERE lockedAt IS NULL" pattern.
|
|
41
|
+
*
|
|
42
|
+
* For databases that don't support pessimistic locking (SQLite, SQL.js),
|
|
43
|
+
* we fall back to the atomic UPDATE approach which works correctly for single-connection scenarios.
|
|
44
|
+
*/
|
|
45
|
+
private tryAcquireLock;
|
|
34
46
|
private ensureTaskIsRegistered;
|
|
35
47
|
}
|
|
@@ -60,16 +60,8 @@ class DefaultSchedulerStrategy {
|
|
|
60
60
|
var _a;
|
|
61
61
|
await this.ensureTaskIsRegistered(task);
|
|
62
62
|
await this.staleTaskService.cleanStaleLocksForTask(task);
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
.createQueryBuilder('task')
|
|
66
|
-
.update()
|
|
67
|
-
.set({ lockedAt: new Date() })
|
|
68
|
-
.where('taskId = :taskId', { taskId: task.id })
|
|
69
|
-
.andWhere('lockedAt IS NULL')
|
|
70
|
-
.andWhere('enabled = TRUE')
|
|
71
|
-
.execute();
|
|
72
|
-
if (!taskEntity.affected) {
|
|
63
|
+
const lockAcquired = await this.tryAcquireLock(task);
|
|
64
|
+
if (!lockAcquired) {
|
|
73
65
|
return;
|
|
74
66
|
}
|
|
75
67
|
vendure_logger_1.Logger.verbose(`Executing scheduled task "${task.id}"`);
|
|
@@ -200,6 +192,62 @@ class DefaultSchedulerStrategy {
|
|
|
200
192
|
await this.ensureTaskIsRegistered(task.task);
|
|
201
193
|
}
|
|
202
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* Attempts to acquire a lock for the given task.
|
|
197
|
+
*
|
|
198
|
+
* For databases that support pessimistic locking (PostgreSQL, MySQL, MariaDB),
|
|
199
|
+
* we use SELECT ... FOR UPDATE to ensure only one worker can acquire the lock.
|
|
200
|
+
* This is necessary because PostgreSQL's MVCC can allow multiple concurrent
|
|
201
|
+
* UPDATE statements to succeed when using a simple "UPDATE ... WHERE lockedAt IS NULL" pattern.
|
|
202
|
+
*
|
|
203
|
+
* For databases that don't support pessimistic locking (SQLite, SQL.js),
|
|
204
|
+
* we fall back to the atomic UPDATE approach which works correctly for single-connection scenarios.
|
|
205
|
+
*/
|
|
206
|
+
async tryAcquireLock(task) {
|
|
207
|
+
const dbType = this.connection.rawConnection.options.type;
|
|
208
|
+
const supportsPessimisticLocking = ['postgres', 'mysql', 'mariadb'].includes(dbType);
|
|
209
|
+
if (supportsPessimisticLocking) {
|
|
210
|
+
// Use a transaction with pessimistic locking to ensure only one worker
|
|
211
|
+
// can acquire the lock.
|
|
212
|
+
return this.connection.rawConnection.transaction(async (manager) => {
|
|
213
|
+
// First, try to select the task row with a FOR UPDATE lock.
|
|
214
|
+
// This will block other transactions trying to select the same row
|
|
215
|
+
// until this transaction commits or rolls back.
|
|
216
|
+
const taskRecord = await manager
|
|
217
|
+
.getRepository(scheduled_task_record_entity_1.ScheduledTaskRecord)
|
|
218
|
+
.createQueryBuilder('task')
|
|
219
|
+
.setLock('pessimistic_write')
|
|
220
|
+
.where('task.taskId = :taskId', { taskId: task.id })
|
|
221
|
+
.andWhere('task.lockedAt IS NULL')
|
|
222
|
+
.andWhere('task.enabled = TRUE')
|
|
223
|
+
.getOne();
|
|
224
|
+
if (!taskRecord) {
|
|
225
|
+
// Task is either already locked, disabled, or doesn't exist
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
// Now update the lock within the same transaction
|
|
229
|
+
await manager
|
|
230
|
+
.getRepository(scheduled_task_record_entity_1.ScheduledTaskRecord)
|
|
231
|
+
.update({ id: taskRecord.id }, { lockedAt: new Date() });
|
|
232
|
+
return true;
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
// For databases without pessimistic locking support (SQLite, SQL.js),
|
|
237
|
+
// use the atomic UPDATE approach. This works for single-connection scenarios
|
|
238
|
+
// but may have race conditions with multiple connections.
|
|
239
|
+
const result = await this.connection.rawConnection
|
|
240
|
+
.getRepository(scheduled_task_record_entity_1.ScheduledTaskRecord)
|
|
241
|
+
.createQueryBuilder('task')
|
|
242
|
+
.update()
|
|
243
|
+
.set({ lockedAt: new Date() })
|
|
244
|
+
.where('taskId = :taskId', { taskId: task.id })
|
|
245
|
+
.andWhere('lockedAt IS NULL')
|
|
246
|
+
.andWhere('enabled = TRUE')
|
|
247
|
+
.execute();
|
|
248
|
+
return !!result.affected;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
203
251
|
async ensureTaskIsRegistered(taskOrId) {
|
|
204
252
|
const taskId = typeof taskOrId === 'string' ? taskOrId : taskOrId.id;
|
|
205
253
|
const task = this.tasks.get(taskId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-scheduler-strategy.js","sourceRoot":"","sources":["../../../src/plugin/default-scheduler-plugin/default-scheduler-strategy.ts"],"names":[],"mappings":";;;;;;AAEA,4CAAoB;AAGpB,8CAAiD;AACjD,gEAA4D;AAC5D,uEAA4D;AAC5D,iDAA2D;AAC3D,2DAAuD;AAIvD,2CAA+D;AAC/D,iFAAqE;AACrE,6DAAwD;AAGxD;;;;;;;;GAQG;AACH,MAAa,wBAAwB;IAArC;QAIqB,UAAK,GAAgE,IAAI,GAAG,EAAE,CAAC;QAExF,iBAAY,GAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"default-scheduler-strategy.js","sourceRoot":"","sources":["../../../src/plugin/default-scheduler-plugin/default-scheduler-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -193,6 +193,33 @@ export declare class ListQueryBuilder implements OnApplicationBootstrap {
|
|
|
193
193
|
filterObjectHasProperty<FP extends FilterParameter<VendureEntity>>(filterObject: FP | NullOptionals<FP> | null | undefined, property: keyof FP): boolean;
|
|
194
194
|
build<T extends VendureEntity>(entity: Type<T>, options?: ListQueryOptions<T>, extendedOptions?: ExtendedListQueryOptions<T>): SelectQueryBuilder<T>;
|
|
195
195
|
private addNestedWhereClause;
|
|
196
|
+
/**
|
|
197
|
+
* Applies a WHERE condition to the query builder. For conditions that need EXISTS subquery
|
|
198
|
+
* treatment (duplicate custom property fields in _and blocks), generates an EXISTS subquery
|
|
199
|
+
* instead of a simple WHERE clause.
|
|
200
|
+
*/
|
|
201
|
+
private applyWhereCondition;
|
|
202
|
+
/**
|
|
203
|
+
* Builds an EXISTS subquery for a custom property condition on a *-to-Many relation.
|
|
204
|
+
* This is necessary because a simple WHERE clause on a joined table cannot express
|
|
205
|
+
* "entity has related item with value A AND entity has related item with value B"
|
|
206
|
+
* when those are in separate rows of the related table.
|
|
207
|
+
*
|
|
208
|
+
* Supports both:
|
|
209
|
+
* - ManyToMany relations (uses junction table)
|
|
210
|
+
* - OneToMany relations (direct foreign key on the related table)
|
|
211
|
+
*
|
|
212
|
+
* @see https://github.com/vendure-ecommerce/vendure/issues/3267
|
|
213
|
+
*/
|
|
214
|
+
private buildExistsSubquery;
|
|
215
|
+
/**
|
|
216
|
+
* Extracts the comparison operator from a SQL clause string.
|
|
217
|
+
*/
|
|
218
|
+
private extractComparisonOperator;
|
|
219
|
+
/**
|
|
220
|
+
* Builds a WHERE condition clause string for the EXISTS subquery.
|
|
221
|
+
*/
|
|
222
|
+
private buildWhereConditionClause;
|
|
196
223
|
private parseTakeSkipParams;
|
|
197
224
|
/**
|
|
198
225
|
* @description
|
|
@@ -23,6 +23,11 @@ const connection_utils_1 = require("./connection-utils");
|
|
|
23
23
|
const get_calculated_columns_1 = require("./get-calculated-columns");
|
|
24
24
|
const parse_filter_params_1 = require("./parse-filter-params");
|
|
25
25
|
const parse_sort_params_1 = require("./parse-sort-params");
|
|
26
|
+
/**
|
|
27
|
+
* Counter for generating unique aliases in EXISTS subqueries.
|
|
28
|
+
* Using a module-level counter ensures uniqueness across all queries in a session.
|
|
29
|
+
*/
|
|
30
|
+
let existsSubqueryCounter = 0;
|
|
26
31
|
/**
|
|
27
32
|
* @description
|
|
28
33
|
* This helper class is used when fetching entities the database from queries which return a {@link PaginatedList} type.
|
|
@@ -170,6 +175,10 @@ let ListQueryBuilder = class ListQueryBuilder {
|
|
|
170
175
|
// join the tables required by calculated columns
|
|
171
176
|
this.joinCalculatedColumnRelations(qb, entity, options);
|
|
172
177
|
const { customPropertyMap } = extendedOptions;
|
|
178
|
+
// Store the original customPropertyMap before normalization for EXISTS subquery generation.
|
|
179
|
+
// This is needed because normalizeCustomPropertyMap mutates customPropertyMap, but
|
|
180
|
+
// parseFilterParams needs the original paths to detect *-to-Many relations.
|
|
181
|
+
const originalCustomPropertyMap = customPropertyMap ? Object.assign({}, customPropertyMap) : undefined;
|
|
173
182
|
if (customPropertyMap) {
|
|
174
183
|
this.normalizeCustomPropertyMap(customPropertyMap, options, qb);
|
|
175
184
|
}
|
|
@@ -177,21 +186,23 @@ let ListQueryBuilder = class ListQueryBuilder {
|
|
|
177
186
|
const sortParams = Object.assign({}, options.sort, extendedOptions.orderBy);
|
|
178
187
|
this.applyTranslationConditions(qb, entity, sortParams, extendedOptions.ctx);
|
|
179
188
|
const sort = (0, parse_sort_params_1.parseSortParams)(qb.connection, entity, sortParams, customPropertyMap, qb.alias, customFieldsForType);
|
|
180
|
-
const filter = (0, parse_filter_params_1.parseFilterParams)(
|
|
189
|
+
const filter = (0, parse_filter_params_1.parseFilterParams)({
|
|
190
|
+
connection: qb.connection,
|
|
191
|
+
entity,
|
|
192
|
+
filterParams: options.filter,
|
|
193
|
+
customPropertyMap,
|
|
194
|
+
originalCustomPropertyMap,
|
|
195
|
+
entityAlias: qb.alias,
|
|
196
|
+
});
|
|
181
197
|
if (filter.length) {
|
|
182
198
|
const filterOperator = (_d = options.filterOperator) !== null && _d !== void 0 ? _d : generated_types_1.LogicalOperator.AND;
|
|
183
199
|
qb.andWhere(new typeorm_1.Brackets(qb1 => {
|
|
184
200
|
for (const condition of filter) {
|
|
185
201
|
if ('conditions' in condition) {
|
|
186
|
-
this.addNestedWhereClause(qb1, condition, filterOperator);
|
|
202
|
+
this.addNestedWhereClause(qb1, condition, filterOperator, qb, entity);
|
|
187
203
|
}
|
|
188
204
|
else {
|
|
189
|
-
|
|
190
|
-
qb1.andWhere(condition.clause, condition.parameters);
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
qb1.orWhere(condition.clause, condition.parameters);
|
|
194
|
-
}
|
|
205
|
+
this.applyWhereCondition(qb1, condition, filterOperator, qb, entity);
|
|
195
206
|
}
|
|
196
207
|
}
|
|
197
208
|
}));
|
|
@@ -204,20 +215,15 @@ let ListQueryBuilder = class ListQueryBuilder {
|
|
|
204
215
|
qb.orderBy(sort);
|
|
205
216
|
return qb;
|
|
206
217
|
}
|
|
207
|
-
addNestedWhereClause(qb, whereGroup, parentOperator) {
|
|
218
|
+
addNestedWhereClause(qb, whereGroup, parentOperator, mainQb, entity) {
|
|
208
219
|
if (whereGroup.conditions.length) {
|
|
209
220
|
const subQb = new typeorm_1.Brackets(qb1 => {
|
|
210
221
|
whereGroup.conditions.forEach(condition => {
|
|
211
222
|
if ('conditions' in condition) {
|
|
212
|
-
this.addNestedWhereClause(qb1, condition, whereGroup.operator);
|
|
223
|
+
this.addNestedWhereClause(qb1, condition, whereGroup.operator, mainQb, entity);
|
|
213
224
|
}
|
|
214
225
|
else {
|
|
215
|
-
|
|
216
|
-
qb1.andWhere(condition.clause, condition.parameters);
|
|
217
|
-
}
|
|
218
|
-
else {
|
|
219
|
-
qb1.orWhere(condition.clause, condition.parameters);
|
|
220
|
-
}
|
|
226
|
+
this.applyWhereCondition(qb1, condition, whereGroup.operator, mainQb, entity);
|
|
221
227
|
}
|
|
222
228
|
});
|
|
223
229
|
});
|
|
@@ -229,6 +235,213 @@ let ListQueryBuilder = class ListQueryBuilder {
|
|
|
229
235
|
}
|
|
230
236
|
}
|
|
231
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* Applies a WHERE condition to the query builder. For conditions that need EXISTS subquery
|
|
240
|
+
* treatment (duplicate custom property fields in _and blocks), generates an EXISTS subquery
|
|
241
|
+
* instead of a simple WHERE clause.
|
|
242
|
+
*/
|
|
243
|
+
applyWhereCondition(qb, condition, operator, mainQb, entity) {
|
|
244
|
+
if (condition.isExistsCondition) {
|
|
245
|
+
// Generate EXISTS subquery for duplicate custom property conditions
|
|
246
|
+
const existsClause = this.buildExistsSubquery(condition, mainQb, entity);
|
|
247
|
+
if (existsClause) {
|
|
248
|
+
if (operator === generated_types_1.LogicalOperator.AND) {
|
|
249
|
+
qb.andWhere(existsClause.clause, existsClause.parameters);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
qb.orWhere(existsClause.clause, existsClause.parameters);
|
|
253
|
+
}
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
// Standard WHERE clause handling
|
|
258
|
+
if (operator === generated_types_1.LogicalOperator.AND) {
|
|
259
|
+
qb.andWhere(condition.clause, condition.parameters);
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
qb.orWhere(condition.clause, condition.parameters);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Builds an EXISTS subquery for a custom property condition on a *-to-Many relation.
|
|
267
|
+
* This is necessary because a simple WHERE clause on a joined table cannot express
|
|
268
|
+
* "entity has related item with value A AND entity has related item with value B"
|
|
269
|
+
* when those are in separate rows of the related table.
|
|
270
|
+
*
|
|
271
|
+
* Supports both:
|
|
272
|
+
* - ManyToMany relations (uses junction table)
|
|
273
|
+
* - OneToMany relations (direct foreign key on the related table)
|
|
274
|
+
*
|
|
275
|
+
* @see https://github.com/vendure-ecommerce/vendure/issues/3267
|
|
276
|
+
*/
|
|
277
|
+
buildExistsSubquery(condition, mainQb, entity) {
|
|
278
|
+
var _a, _b, _c;
|
|
279
|
+
if (!condition.isExistsCondition) {
|
|
280
|
+
return null;
|
|
281
|
+
}
|
|
282
|
+
const { customPropertyPath } = condition.isExistsCondition;
|
|
283
|
+
const pathParts = customPropertyPath.split('.');
|
|
284
|
+
if (pathParts.length < 2) {
|
|
285
|
+
return null;
|
|
286
|
+
}
|
|
287
|
+
const relationName = pathParts[0]; // e.g., 'facetValues' or 'orderLines'
|
|
288
|
+
const columnName = pathParts[1]; // e.g., 'id'
|
|
289
|
+
const metadata = (_a = mainQb.expressionMap.mainAlias) === null || _a === void 0 ? void 0 : _a.metadata;
|
|
290
|
+
if (!metadata) {
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
const relation = metadata.findRelationWithPropertyPath(relationName);
|
|
294
|
+
if (!relation) {
|
|
295
|
+
return null;
|
|
296
|
+
}
|
|
297
|
+
// Get the related entity's table and column info
|
|
298
|
+
const inverseEntityMeta = relation.inverseEntityMetadata;
|
|
299
|
+
const inverseTableName = inverseEntityMeta.tableName;
|
|
300
|
+
// Generate unique alias using counter
|
|
301
|
+
existsSubqueryCounter++;
|
|
302
|
+
const aliasBase = `lqb_exists_${existsSubqueryCounter}`;
|
|
303
|
+
// Determine the comparison operator from the original clause
|
|
304
|
+
const comparisonOperator = this.extractComparisonOperator(condition.clause);
|
|
305
|
+
// Copy all parameters with 'exists_' prefix to ensure uniqueness.
|
|
306
|
+
// This handles operators with multiple params like BETWEEN (arg1_a, arg1_b).
|
|
307
|
+
const parameters = {};
|
|
308
|
+
const paramKeys = Object.keys(condition.parameters);
|
|
309
|
+
for (const key of paramKeys) {
|
|
310
|
+
parameters[`exists_${key}`] = condition.parameters[key];
|
|
311
|
+
}
|
|
312
|
+
// Use the first param key as the base for the WHERE clause construction.
|
|
313
|
+
// For BETWEEN this will be 'exists_arg1' (we strip the _a/_b suffix).
|
|
314
|
+
const baseParamKey = (_c = (_b = paramKeys[0]) === null || _b === void 0 ? void 0 : _b.replace(/_[ab]$/, '')) !== null && _c !== void 0 ? _c : 'arg';
|
|
315
|
+
const newParamKey = `exists_${baseParamKey}`;
|
|
316
|
+
// Helper to escape identifiers for the current database driver (handles PostgreSQL quoting)
|
|
317
|
+
const escapeId = (name) => mainQb.connection.driver.escape(name);
|
|
318
|
+
let existsQuery;
|
|
319
|
+
if (relation.isManyToMany) {
|
|
320
|
+
// ManyToMany: Uses a junction table
|
|
321
|
+
const junctionMeta = relation.junctionEntityMetadata;
|
|
322
|
+
if (!junctionMeta) {
|
|
323
|
+
return null;
|
|
324
|
+
}
|
|
325
|
+
const junctionTableName = junctionMeta.tableName;
|
|
326
|
+
const ownerColumn = junctionMeta.ownerColumns[0];
|
|
327
|
+
const inverseColumn = junctionMeta.inverseColumns[0];
|
|
328
|
+
if (!ownerColumn || !inverseColumn) {
|
|
329
|
+
return null;
|
|
330
|
+
}
|
|
331
|
+
const junctionAlias = aliasBase;
|
|
332
|
+
const relatedAlias = `${aliasBase}_related`;
|
|
333
|
+
const whereCondition = this.buildWhereConditionClause(relatedAlias, columnName, comparisonOperator, newParamKey, escapeId);
|
|
334
|
+
// EXISTS (SELECT 1 FROM junction_table jt
|
|
335
|
+
// INNER JOIN related_table rt ON jt.inverseColumn = rt.id
|
|
336
|
+
// WHERE jt.ownerColumn = main_entity.id AND rt.columnName = :paramValue)
|
|
337
|
+
existsQuery = `EXISTS (
|
|
338
|
+
SELECT 1 FROM ${escapeId(junctionTableName)} ${escapeId(junctionAlias)}
|
|
339
|
+
INNER JOIN ${escapeId(inverseTableName)} ${escapeId(relatedAlias)}
|
|
340
|
+
ON ${escapeId(junctionAlias)}.${escapeId(inverseColumn.databaseName)} = ${escapeId(relatedAlias)}.${escapeId('id')}
|
|
341
|
+
WHERE ${escapeId(junctionAlias)}.${escapeId(ownerColumn.databaseName)} = ${escapeId(mainQb.alias)}.${escapeId('id')} AND ${whereCondition}
|
|
342
|
+
)`;
|
|
343
|
+
}
|
|
344
|
+
else if (relation.isOneToMany) {
|
|
345
|
+
// OneToMany: The related table has a foreign key back to the main entity
|
|
346
|
+
const relatedAlias = aliasBase;
|
|
347
|
+
// Find the foreign key column on the related entity that points back to the main entity
|
|
348
|
+
const inverseRelation = relation.inverseRelation;
|
|
349
|
+
if (!inverseRelation) {
|
|
350
|
+
return null;
|
|
351
|
+
}
|
|
352
|
+
// Get the join columns from the inverse relation (ManyToOne side)
|
|
353
|
+
const joinColumns = inverseRelation.joinColumns;
|
|
354
|
+
if (!joinColumns || joinColumns.length === 0) {
|
|
355
|
+
return null;
|
|
356
|
+
}
|
|
357
|
+
const foreignKeyColumn = joinColumns[0].databaseName;
|
|
358
|
+
if (!foreignKeyColumn) {
|
|
359
|
+
return null;
|
|
360
|
+
}
|
|
361
|
+
const whereCondition = this.buildWhereConditionClause(relatedAlias, columnName, comparisonOperator, newParamKey, escapeId);
|
|
362
|
+
// EXISTS (SELECT 1 FROM related_table rt
|
|
363
|
+
// WHERE rt.foreignKey = main_entity.id AND rt.columnName = :paramValue)
|
|
364
|
+
existsQuery = `EXISTS (
|
|
365
|
+
SELECT 1 FROM ${escapeId(inverseTableName)} ${escapeId(relatedAlias)}
|
|
366
|
+
WHERE ${escapeId(relatedAlias)}.${escapeId(foreignKeyColumn)} = ${escapeId(mainQb.alias)}.${escapeId('id')} AND ${whereCondition}
|
|
367
|
+
)`;
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
// Not a *-to-Many relation, shouldn't happen but fall back gracefully
|
|
371
|
+
return null;
|
|
372
|
+
}
|
|
373
|
+
return {
|
|
374
|
+
clause: existsQuery,
|
|
375
|
+
parameters,
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Extracts the comparison operator from a SQL clause string.
|
|
380
|
+
*/
|
|
381
|
+
extractComparisonOperator(clause) {
|
|
382
|
+
if (clause.includes('!=')) {
|
|
383
|
+
return '!=';
|
|
384
|
+
}
|
|
385
|
+
else if (clause.includes('>=')) {
|
|
386
|
+
return '>=';
|
|
387
|
+
}
|
|
388
|
+
else if (clause.includes('<=')) {
|
|
389
|
+
return '<=';
|
|
390
|
+
}
|
|
391
|
+
else if (clause.includes('>')) {
|
|
392
|
+
return '>';
|
|
393
|
+
}
|
|
394
|
+
else if (clause.includes('<')) {
|
|
395
|
+
return '<';
|
|
396
|
+
}
|
|
397
|
+
else if (clause.includes(' IN ')) {
|
|
398
|
+
return 'IN';
|
|
399
|
+
}
|
|
400
|
+
else if (clause.includes(' NOT IN ')) {
|
|
401
|
+
return 'NOT IN';
|
|
402
|
+
}
|
|
403
|
+
else if (clause.includes(' ILIKE ')) {
|
|
404
|
+
return 'ILIKE';
|
|
405
|
+
}
|
|
406
|
+
else if (clause.includes(' NOT LIKE ') || clause.includes(' NOT ILIKE ')) {
|
|
407
|
+
return clause.includes('ILIKE') ? 'NOT ILIKE' : 'NOT LIKE';
|
|
408
|
+
}
|
|
409
|
+
else if (clause.includes(' LIKE ')) {
|
|
410
|
+
return 'LIKE';
|
|
411
|
+
}
|
|
412
|
+
else if (clause.includes(' IS NULL')) {
|
|
413
|
+
return 'IS NULL';
|
|
414
|
+
}
|
|
415
|
+
else if (clause.includes(' IS NOT NULL')) {
|
|
416
|
+
return 'IS NOT NULL';
|
|
417
|
+
}
|
|
418
|
+
else if (clause.includes(' BETWEEN ')) {
|
|
419
|
+
return 'BETWEEN';
|
|
420
|
+
}
|
|
421
|
+
return '=';
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* Builds a WHERE condition clause string for the EXISTS subquery.
|
|
425
|
+
*/
|
|
426
|
+
buildWhereConditionClause(alias, columnName, operator, paramKey, escapeId) {
|
|
427
|
+
const col = `${escapeId(alias)}.${escapeId(columnName)}`;
|
|
428
|
+
if (operator === 'IN') {
|
|
429
|
+
return `${col} IN (:...${paramKey})`;
|
|
430
|
+
}
|
|
431
|
+
else if (operator === 'NOT IN') {
|
|
432
|
+
return `${col} NOT IN (:...${paramKey})`;
|
|
433
|
+
}
|
|
434
|
+
else if (operator === 'IS NULL') {
|
|
435
|
+
return `${col} IS NULL`;
|
|
436
|
+
}
|
|
437
|
+
else if (operator === 'IS NOT NULL') {
|
|
438
|
+
return `${col} IS NOT NULL`;
|
|
439
|
+
}
|
|
440
|
+
else if (operator === 'BETWEEN') {
|
|
441
|
+
return `${col} BETWEEN :${paramKey}_a AND :${paramKey}_b`;
|
|
442
|
+
}
|
|
443
|
+
return `${col} ${operator} :${paramKey}`;
|
|
444
|
+
}
|
|
232
445
|
parseTakeSkipParams(apiType, options, ignoreQueryLimits = false) {
|
|
233
446
|
var _a;
|
|
234
447
|
const { shopListQueryLimit, adminListQueryLimit } = this.configService.apiOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-query-builder.js","sourceRoot":"","sources":["../../../../src/service/helpers/list-query-builder/list-query-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"list-query-builder.js","sourceRoot":"","sources":["../../../../src/service/helpers/list-query-builder/list-query-builder.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoE;AACpE,yEAAsE;AAEtE,uDAAoD;AACpD,qCAOiB;AAKjB,4CAMyB;AACzB,+EAAkE;AAClE,4CAAsE;AACtE,oDAA8D;AAE9D,gFAAiF;AAEjF,yDAAuE;AACvE,qEAAgE;AAChE,+DAAsF;AACtF,2DAAsD;AAEtD;;;GAGG;AACH,IAAI,qBAAqB,GAAG,CAAC,CAAC;AAgG9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAGI,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACzB,YACY,UAAmC,EACnC,aAA4B;QAD5B,eAAU,GAAV,UAAU,CAAyB;QACnC,kBAAa,GAAb,aAAa,CAAe;IACrC,CAAC;IAEJ,gBAAgB;IAChB,sBAAsB;QAClB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACxC,CAAC;IAED;;;;;;;;;;OAUG;IACH,uBAAuB,CACnB,YAAuD,EACvD,QAAkB;QAElB,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS;YACb,CAAC;YACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAS,CAAC;gBACxC,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;oBAC5B,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;wBACpD,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CACD,MAAe,EACf,UAA+B,EAAE,EACjC,kBAA+C,EAAE;;QAEjD,MAAM,OAAO,GAAG,MAAA,MAAA,eAAe,CAAC,GAAG,0CAAE,OAAO,mCAAI,MAAM,CAAC;QACvD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAErG,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG;YAC5B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvE,MAAM,wBAAwB,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAClG,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,SAAS,GAAG,IAAA,eAAM,EAAC,CAAC,GAAG,wBAAwB,EAAE,GAAG,CAAC,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,SAAS,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE7F,iFAAiF;QACjF,wFAAwF;QACxF,6FAA6F;QAC7F,uEAAuE;QACvE,MAAM,kBAAkB,GAAG,IAAA,uDAA4B,EAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAE/E,mGAAmG;QACnG,4BAA4B;QAC5B,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAEpF,EAAE,CAAC,cAAc,CAAC;YACd,SAAS;YACT,IAAI;YACJ,IAAI;YACJ,KAAK,EAAE,eAAe,CAAC,KAAK,IAAI,EAAE;YAClC,oBAAoB,EAAE,OAAO;SAChC,CAAC,CAAC;QAEH,iDAAiD;QACjD,IAAI,CAAC,6BAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAExD,MAAM,EAAE,iBAAiB,EAAE,GAAG,eAAe,CAAC;QAC9C,4FAA4F;QAC5F,mFAAmF;QACnF,4EAA4E;QAC5E,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,CAAC,mBAAM,iBAAiB,EAAG,CAAC,CAAC,SAAS,CAAC;QAC3F,IAAI,iBAAiB,EAAE,CAAC;YACpB,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,IAA0B,CAAC,CAAC;QAC/F,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5E,IAAI,CAAC,0BAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,IAAA,mCAAe,EACxB,EAAE,CAAC,UAAU,EACb,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,EAAE,CAAC,KAAK,EACR,mBAAmB,CACtB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,uCAAiB,EAAC;YAC7B,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,MAAM;YACN,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,iBAAiB;YACjB,yBAAyB;YACzB,WAAW,EAAE,EAAE,CAAC,KAAK;SACxB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,cAAc,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,iCAAe,CAAC,GAAG,CAAC;YACrE,EAAE,CAAC,QAAQ,CACP,IAAI,kBAAQ,CAAC,GAAG,CAAC,EAAE;gBACf,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;oBAC7B,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;wBAC5B,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;oBAC1E,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;oBACzE,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CACL,CAAC;QACN,CAAC;QAED,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,WAAW,EAAE,cAAc,EAAE,8BAA8B,EAAE;gBACjF,SAAS,EAAE,eAAe,CAAC,SAAS;aACvC,CAAC,CAAC;QACP,CAAC;QAED,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,oBAAoB,CACxB,EAA0B,EAC1B,UAAsB,EACtB,cAA+B,EAC/B,MAA6B,EAC7B,MAAe;QAEf,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,kBAAQ,CAAC,GAAG,CAAC,EAAE;gBAC7B,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBACtC,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;wBAC5B,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBACnF,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAClF,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,IAAI,cAAc,KAAK,iCAAe,CAAC,GAAG,EAAE,CAAC;gBACzC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACJ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CACvB,EAA0B,EAC1B,SAAyB,EACzB,QAAyB,EACzB,MAA6B,EAC7B,MAAe;QAEf,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAC9B,oEAAoE;YACpE,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACzE,IAAI,YAAY,EAAE,CAAC;gBACf,IAAI,QAAQ,KAAK,iCAAe,CAAC,GAAG,EAAE,CAAC;oBACnC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACJ,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO;YACX,CAAC;QACL,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,KAAK,iCAAe,CAAC,GAAG,EAAE,CAAC;YACnC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACJ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACK,mBAAmB,CACvB,SAAyB,EACzB,MAA6B,EAC7B,MAAe;;QAEf,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC,iBAAiB,CAAC;QAC3D,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,sCAAsC;QACzE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;QAE9C,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,aAAa,CAAC,SAAS,0CAAE,QAAQ,CAAC;QAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,iDAAiD;QACjD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;QACzD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAErD,sCAAsC;QACtC,qBAAqB,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,cAAc,qBAAqB,EAAE,CAAC;QAExD,6DAA6D;QAC7D,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE5E,kEAAkE;QAClE,6EAA6E;QAC7E,MAAM,UAAU,GAAwB,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC1B,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,yEAAyE;QACzE,sEAAsE;QACtE,MAAM,YAAY,GAAG,MAAA,MAAA,SAAS,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,mCAAI,KAAK,CAAC;QAClE,MAAM,WAAW,GAAG,UAAU,YAAY,EAAE,CAAC;QAE7C,4FAA4F;QAC5F,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEzE,IAAI,WAAmB,CAAC;QAExB,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YACxB,oCAAoC;YACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,sBAAsB,CAAC;YACrD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC;YACjD,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAErD,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,aAAa,GAAG,SAAS,CAAC;YAChC,MAAM,YAAY,GAAG,GAAG,SAAS,UAAU,CAAC;YAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CACjD,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,QAAQ,CACX,CAAC;YAEF,0CAA0C;YAC1C,kEAAkE;YAClE,iFAAiF;YACjF,WAAW,GAAG;gCACM,QAAQ,CAAC,iBAAiB,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC;6BACzD,QAAQ,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC;yBACxD,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;4BAC1G,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,cAAc;cAC/I,CAAC;QACP,CAAC;aAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC9B,yEAAyE;YACzE,MAAM,YAAY,GAAG,SAAS,CAAC;YAE/B,wFAAwF;YACxF,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;YACjD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,kEAAkE;YAClE,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;YAChD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CACjD,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,QAAQ,CACX,CAAC;YAEF,yCAAyC;YACzC,gFAAgF;YAChF,WAAW,GAAG;gCACM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC;wBAC5D,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,cAAc;cAClI,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,sEAAsE;YACtE,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO;YACH,MAAM,EAAE,WAAW;YACnB,UAAU;SACb,CAAC;IACN,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,MAAc;QAC5C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC;QACf,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC;QACf,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,OAAO,QAAQ,CAAC;QACpB,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC;QACnB,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACzE,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/D,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC;QAClB,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,OAAO,SAAS,CAAC;QACrB,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO,aAAa,CAAC;QACzB,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;OAEG;IACK,yBAAyB,CAC7B,KAAa,EACb,UAAkB,EAClB,QAAgB,EAChB,QAAgB,EAChB,QAAkC;QAElC,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,GAAG,GAAG,YAAY,QAAQ,GAAG,CAAC;QACzC,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,GAAG,GAAG,gBAAgB,QAAQ,GAAG,CAAC;QAC7C,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,GAAG,GAAG,UAAU,CAAC;QAC5B,CAAC;aAAM,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YACpC,OAAO,GAAG,GAAG,cAAc,CAAC;QAChC,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,GAAG,GAAG,aAAa,QAAQ,WAAW,QAAQ,IAAI,CAAC;QAC9D,CAAC;QACD,OAAO,GAAG,GAAG,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;IAC7C,CAAC;IAEO,mBAAmB,CACvB,OAAgB,EAChB,OAA8B,EAC9B,iBAAiB,GAAG,KAAK;;QAEzB,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;QAClF,MAAM,SAAS,GAAG,iBAAiB;YAC/B,CAAC,CAAC,MAAM,CAAC,gBAAgB;YACzB,CAAC,CAAC,OAAO,KAAK,OAAO;gBACnB,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,kBAAkB,CAAC;QAC3B,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,uBAAc,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,OAAO,CAAC,IAAI,mCAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,sEAAsE;QACtE,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC7F,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3D,IAAI,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACK,2BAA2B,CAC/B,UAAyB,EACzB,OAA4B,EAC5B,eAA4C;QAE5C,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;YAC5B,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,eAAe,CAAC,iBAAiB,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YAErC,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC/E,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;oBACrD,iFAAiF;oBACjF,oCAAoC;oBACpC,SAAS;gBACb,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,IAAI,cAAc,GAAG,QAAQ,CAAC;gBAC9B,MAAM,iBAAiB,GAAG,EAAE,CAAC;gBAC7B,KAAK,MAAM,gBAAgB,IAAI,YAAY,EAAE,CAAC;oBAC1C,MAAM,gBAAgB,GAAG,cAAc,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;oBACvF,IAAI,gBAAgB,EAAE,CAAC;wBACnB,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;wBACtD,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpD,cAAc,GAAG,gBAAgB,CAAC,qBAAqB,CAAC;oBAC5D,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAEO,yBAAyB,CAAC,QAAgB,EAAE,OAA8B;;QAC9E,OAAO,CAAC,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAG,QAAQ,CAAC,KAAI,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACjG,CAAC;IAEO,sBAAsB,CAC1B,QAAgB,EAChB,MAAmD;;QAEnD,OAAO,CAAC,CAAC,CACL,MAAM;YACN,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACb,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAA;iBACtF,MAAA,MAAM,CAAC,GAAG,0CAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAA,CAAC,CAC7F,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACK,0BAA0B,CAC9B,iBAA6C,EAC7C,OAA8B,EAC9B,EAA2B;;QAE3B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBACrD,SAAS;YACb,CAAC;YACD,IAAI,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,sBAAsB,GAAa,EAAE,CAAC;YAC5C,IAAI,cAAc,GAAG,MAAA,EAAE,CAAC,aAAa,CAAC,SAAS,0CAAE,QAAQ,CAAC;YAC1D,IAAI,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC;YAC3B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,UAAU,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAE3C,IAAI,CAAC,cAAc,EAAE,CAAC;oBAClB,eAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC9D,SAAS;gBACb,CAAC;gBACD,MAAM,gBAAgB,GAAG,cAAc,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;gBACjF,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,YAAY,CAAA,EAAE,CAAC;oBACvD,eAAM,CAAC,KAAK,CACR,gCAAgC,QAAQ,IAAI,KAAK,4CAA4C,CAChG,CAAC;oBACF,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBACnC,OAAO;gBACX,CAAC;gBACD,MAAM,KAAK,GAAG,GAAG,cAAc,CAAC,SAAS,IAAI,gBAAgB,CAAC,YAAY,EAAE,CAAC;gBAC7E,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC3C,EAAE,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,gBAAgB,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;gBACnF,CAAC;gBACD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,cAAc,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,qBAAqB,CAAC;gBACzD,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrB,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACJ,WAAW,GAAG,KAAK,CAAC;gBACxB,CAAC;YACL,CAAC;YACD,iBAAiB,CAAC,QAAQ,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,6BAA6B,CACjC,EAAyB,EACzB,MAAe,EACf,OAA4B;QAE5B,MAAM,iBAAiB,GAAG,IAAA,6CAAoB,EAAC,MAAM,CAAC,CAAC;QACvD,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,IAAA,iCAAc,EAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACpE,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACtC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,SAAS,CAAC;YACnD,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC;gBAC9C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBAC/B,MAAM,uBAAuB,GAAG,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAChE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,KAAK,GAAG,KAAK,IAAI,QAAQ,EAAE,CACvD,CAAC;oBACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;wBAC3B,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAC;wBAChF,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;4BACxC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;4BAClC,CAAC,CAAC,QAAQ,CAAC;wBACf,EAAE,CAAC,kBAAkB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;oBACvD,CAAC;gBACL,CAAC;gBACD,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC1C,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAEO,sBAAsB,CAA0B,OAA4B;QAChF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACnD,+DAA+D;QAC/D,+BAA+B;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO,IAAA,eAAM,EAAC,CAAC,GAAG,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IACpD,CAAC;IAEO,eAAe,CACnB,MAAiD;QAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAA8B,CAAC;gBACvD,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;oBAC5B,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC1D,CAAC;YACL,CAAC;iBAAM,IAAI,MAAM,CAAC,GAA+B,CAAC,EAAE,CAAC;gBACjD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;QACD,OAAO,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACK,0BAA0B,CAC9B,EAA2B,EAC3B,MAAe,EACf,UAAwE,EACxE,GAAoB;QAEpB,MAAM,YAAY,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,KAAI,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;QAEjF,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAA,oCAAiB,EAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;QAEvB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,wBAAwB,GAAG,KAAK,CAAC;QACrC,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;YACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpD,wBAAwB,GAAG,IAAI,CAAC;YACpC,CAAC;QACL,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,IAAI,wBAAwB,EAAE,CAAC;YACxD,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAChE,KAAK,EACL,cAAc,EACd,EAAE,EACF,EAAE,CACL,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,CAAC;gBACvD,EAAE,CAAC,iBAAiB,CAAC,GAAG,KAAK,eAAe,EAAE,iBAAiB,CAAC,CAAC;YACrE,CAAC;YAED,EAAE,CAAC,QAAQ,CACP,IAAI,kBAAQ,CAAC,GAAG,CAAC,EAAE;;gBACf,GAAG,CAAC,KAAK,CAAC,GAAG,iBAAiB,+BAA+B,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBACjF,MAAM,mBAAmB,GACrB,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,mBAAmB,mCAAI,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;gBAC/E,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;gBACtE,IAAI,YAAY,KAAK,mBAAmB,EAAE,CAAC;oBACvC,wEAAwE;oBACxE,2EAA2E;oBAC3E,8DAA8D;oBAC9D,GAAG,CAAC,OAAO,CACP,IAAI,kBAAQ,CAAC,GAAG,CAAC,EAAE;wBACf,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;6BACvC,kBAAkB,CAAC,iBAAiB,EAAE,aAAa,CAAC;6BACpD,KAAK,CAAC,sBAAsB,KAAK,KAAK,CAAC;6BACvC,QAAQ,CAAC,iDAAiD,CAAC,CAAC;wBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;6BACvC,kBAAkB,CAAC,iBAAiB,EAAE,aAAa,CAAC;6BACpD,KAAK,CAAC,sBAAsB,KAAK,KAAK,CAAC;6BACvC,QAAQ,CAAC,oDAAoD,CAAC,CAAC;wBAEpE,GAAG,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,CAC/C,eAAe,MAAM,CAAC,QAAQ,EAAE,GAAG,CACtC,CAAC;oBACN,CAAC,CAAC,CACL,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,GAAG,CAAC,OAAO,CACP,IAAI,kBAAQ,CAAC,GAAG,CAAC,EAAE;wBACf,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;6BACvC,kBAAkB,CAAC,iBAAiB,EAAE,aAAa,CAAC;6BACpD,KAAK,CAAC,sBAAsB,KAAK,KAAK,CAAC;6BACvC,QAAQ,CAAC,iDAAiD,CAAC,CAAC;wBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;6BACvC,kBAAkB,CAAC,iBAAiB,EAAE,aAAa,CAAC;6BACpD,KAAK,CAAC,sBAAsB,KAAK,KAAK,CAAC;6BACvC,QAAQ,CAAC,kDAAkD,CAAC,CAAC;wBAElE,GAAG,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,CACnD,WAAW,MAAM,CAAC,QAAQ,EAAE,GAAG,CAClC,CAAC;oBACN,CAAC,CAAC,CACL,CAAC;gBACN,CAAC;gBACD,EAAE,CAAC,aAAa,CAAC;oBACb,sBAAsB,EAAE,YAAY;oBACpC,mBAAmB;iBACtB,CAAC,CAAC;YACP,CAAC,CAAC,CACL,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,4BAA4B;QAChC,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QAC1D,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAA6B,CAAC;YAC3E,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAqB,CAAC;YACnE,MAAM,CAAC,kBAAkB,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAEO,uBAAuB,CAC3B,EAAyB,EACzB,KAAa;QAEb,OAAO,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IAC/E,CAAC;CACJ,CAAA;AAptBY,4CAAgB;2BAAhB,gBAAgB;IAF5B,IAAA,mBAAU,GAAE;IACZ,IAAA,iCAAU,GAAE;qCAGe,oCAAuB;QACpB,sBAAa;GAH/B,gBAAgB,CAotB5B"}
|
|
@@ -12,11 +12,69 @@ export interface WhereCondition {
|
|
|
12
12
|
parameters: {
|
|
13
13
|
[param: string]: string | number | string[];
|
|
14
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* When defined, this condition should be converted to an EXISTS subquery
|
|
17
|
+
* instead of a simple WHERE clause. This is used for custom property fields
|
|
18
|
+
* that map to *-to-Many relations (OneToMany or ManyToMany), where standard
|
|
19
|
+
* JOIN + WHERE semantics cannot correctly express AND logic across multiple
|
|
20
|
+
* related rows.
|
|
21
|
+
*
|
|
22
|
+
* @see https://github.com/vendure-ecommerce/vendure/issues/3267
|
|
23
|
+
*/
|
|
24
|
+
isExistsCondition?: {
|
|
25
|
+
/**
|
|
26
|
+
* The custom property key from the customPropertyMap
|
|
27
|
+
*/
|
|
28
|
+
customPropertyKey: string;
|
|
29
|
+
/**
|
|
30
|
+
* The original path from customPropertyMap (e.g., 'facetValues.id')
|
|
31
|
+
*/
|
|
32
|
+
customPropertyPath: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @description
|
|
37
|
+
* Options for the parseFilterParams function.
|
|
38
|
+
*/
|
|
39
|
+
export interface ParseFilterParamsOptions<T extends VendureEntity> {
|
|
40
|
+
/**
|
|
41
|
+
* The TypeORM DataSource connection.
|
|
42
|
+
*/
|
|
43
|
+
connection: DataSource;
|
|
44
|
+
/**
|
|
45
|
+
* The entity type being queried.
|
|
46
|
+
*/
|
|
47
|
+
entity: Type<T>;
|
|
48
|
+
/**
|
|
49
|
+
* The filter parameters from the GraphQL query.
|
|
50
|
+
*/
|
|
51
|
+
filterParams?: NullOptionals<FilterParameter<T>> | null;
|
|
52
|
+
/**
|
|
53
|
+
* Map of custom property names to their relation paths (after normalization).
|
|
54
|
+
* Note: This map gets mutated by the ListQueryBuilder's normalizeCustomPropertyMap method.
|
|
55
|
+
*/
|
|
56
|
+
customPropertyMap?: {
|
|
57
|
+
[name: string]: string;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Original custom property map before normalization, containing the original relation paths.
|
|
61
|
+
* This is needed to detect *-to-Many relations and to generate EXISTS subqueries with
|
|
62
|
+
* the correct table/column references.
|
|
63
|
+
*/
|
|
64
|
+
originalCustomPropertyMap?: {
|
|
65
|
+
[name: string]: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* The alias used for the main entity in the query.
|
|
69
|
+
*/
|
|
70
|
+
entityAlias?: string;
|
|
15
71
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
72
|
+
/**
|
|
73
|
+
* @description
|
|
74
|
+
* Parses filter parameters from a GraphQL query and converts them into SQL WHERE conditions.
|
|
75
|
+
*
|
|
76
|
+
* For custom property fields that map to *-to-Many relations, all conditions will be marked
|
|
77
|
+
* for EXISTS subquery treatment to ensure correct AND semantics when filtering across
|
|
78
|
+
* multiple related rows.
|
|
79
|
+
*/
|
|
80
|
+
export declare function parseFilterParams<T extends VendureEntity>(options: ParseFilterParamsOptions<T>): Array<WhereCondition | WhereGroup>;
|
|
@@ -7,7 +7,16 @@ const DateUtils_1 = require("typeorm/util/DateUtils");
|
|
|
7
7
|
const errors_1 = require("../../../common/error/errors");
|
|
8
8
|
const connection_utils_1 = require("./connection-utils");
|
|
9
9
|
const get_calculated_columns_1 = require("./get-calculated-columns");
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* @description
|
|
12
|
+
* Parses filter parameters from a GraphQL query and converts them into SQL WHERE conditions.
|
|
13
|
+
*
|
|
14
|
+
* For custom property fields that map to *-to-Many relations, all conditions will be marked
|
|
15
|
+
* for EXISTS subquery treatment to ensure correct AND semantics when filtering across
|
|
16
|
+
* multiple related rows.
|
|
17
|
+
*/
|
|
18
|
+
function parseFilterParams(options) {
|
|
19
|
+
const { connection, entity, filterParams, customPropertyMap, originalCustomPropertyMap, entityAlias } = options;
|
|
11
20
|
if (!filterParams) {
|
|
12
21
|
return [];
|
|
13
22
|
}
|
|
@@ -16,11 +25,17 @@ function parseFilterParams(connection, entity, filterParams, customPropertyMap,
|
|
|
16
25
|
const calculatedColumns = (0, get_calculated_columns_1.getCalculatedColumns)(entity);
|
|
17
26
|
const dbType = connection.options.type;
|
|
18
27
|
let argIndex = 1;
|
|
28
|
+
// Detect which custom property fields map to *-to-Many relations.
|
|
29
|
+
// All filter conditions on these fields will use EXISTS subqueries for correct AND semantics.
|
|
30
|
+
const toManyRelationCustomProperties = getToManyRelationCustomProperties(connection, entity, originalCustomPropertyMap, filterParams);
|
|
19
31
|
function buildConditionsForField(key, operation) {
|
|
20
32
|
const output = [];
|
|
21
33
|
const calculatedColumnDef = calculatedColumns.find(c => c.name === key);
|
|
22
34
|
const instruction = calculatedColumnDef === null || calculatedColumnDef === void 0 ? void 0 : calculatedColumnDef.listQuery;
|
|
23
35
|
const calculatedColumnExpression = instruction === null || instruction === void 0 ? void 0 : instruction.expression;
|
|
36
|
+
// Mark ALL conditions on *-to-Many relation custom properties for EXISTS subquery treatment.
|
|
37
|
+
// This ensures correct AND semantics regardless of how many times the field is used.
|
|
38
|
+
const isToManyCustomProperty = toManyRelationCustomProperties.has(key) && (originalCustomPropertyMap === null || originalCustomPropertyMap === void 0 ? void 0 : originalCustomPropertyMap[key]);
|
|
24
39
|
for (const [operator, operand] of Object.entries(operation)) {
|
|
25
40
|
let fieldName;
|
|
26
41
|
if (columns.find(c => c.propertyName === key)) {
|
|
@@ -40,6 +55,13 @@ function parseFilterParams(connection, entity, filterParams, customPropertyMap,
|
|
|
40
55
|
throw new errors_1.UserInputError('error.invalid-filter-field');
|
|
41
56
|
}
|
|
42
57
|
const condition = buildWhereCondition(fieldName, operator, operand, argIndex, dbType);
|
|
58
|
+
// Mark *-to-Many custom property fields for EXISTS subquery treatment
|
|
59
|
+
if (isToManyCustomProperty) {
|
|
60
|
+
condition.isExistsCondition = {
|
|
61
|
+
customPropertyKey: key,
|
|
62
|
+
customPropertyPath: originalCustomPropertyMap[key],
|
|
63
|
+
};
|
|
64
|
+
}
|
|
43
65
|
output.push(condition);
|
|
44
66
|
argIndex++;
|
|
45
67
|
}
|
|
@@ -49,8 +71,9 @@ function parseFilterParams(connection, entity, filterParams, customPropertyMap,
|
|
|
49
71
|
const result = [];
|
|
50
72
|
for (const [key, operation] of Object.entries(param)) {
|
|
51
73
|
if (key === '_and' || key === '_or') {
|
|
74
|
+
const isAndOperator = key === '_and';
|
|
52
75
|
result.push({
|
|
53
|
-
operator:
|
|
76
|
+
operator: isAndOperator ? generated_types_1.LogicalOperator.AND : generated_types_1.LogicalOperator.OR,
|
|
54
77
|
conditions: operation.map(o => processFilterParameter(o)).flat(),
|
|
55
78
|
});
|
|
56
79
|
}
|
|
@@ -60,8 +83,66 @@ function parseFilterParams(connection, entity, filterParams, customPropertyMap,
|
|
|
60
83
|
}
|
|
61
84
|
return result;
|
|
62
85
|
}
|
|
63
|
-
|
|
64
|
-
|
|
86
|
+
return processFilterParameter(filterParams);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* @description
|
|
90
|
+
* Identifies which custom property keys map to *-to-Many relations (OneToMany or ManyToMany).
|
|
91
|
+
* These fields require EXISTS subqueries for correct AND semantics when filtering across
|
|
92
|
+
* multiple related rows.
|
|
93
|
+
*
|
|
94
|
+
* @see https://github.com/vendure-ecommerce/vendure/issues/3267
|
|
95
|
+
*/
|
|
96
|
+
function getToManyRelationCustomProperties(connection, entity, originalCustomPropertyMap, filterParams) {
|
|
97
|
+
const toManyProperties = new Set();
|
|
98
|
+
if (!originalCustomPropertyMap) {
|
|
99
|
+
return toManyProperties;
|
|
100
|
+
}
|
|
101
|
+
const metadata = connection.getMetadata(entity);
|
|
102
|
+
for (const [property, path] of Object.entries(originalCustomPropertyMap)) {
|
|
103
|
+
// Only check properties that are actually being used in filters
|
|
104
|
+
if (!isPropertyUsedInFilter(property, filterParams)) {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
// Parse the path to get the relation name (e.g., 'facetValues.id' -> 'facetValues')
|
|
108
|
+
const pathParts = path.split('.');
|
|
109
|
+
if (pathParts.length < 2) {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
const relationName = pathParts[0];
|
|
113
|
+
const relationMetadata = metadata.findRelationWithPropertyPath(relationName);
|
|
114
|
+
if (relationMetadata && (relationMetadata.isOneToMany || relationMetadata.isManyToMany)) {
|
|
115
|
+
toManyProperties.add(property);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return toManyProperties;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Checks if a property is used anywhere in the filter parameters,
|
|
122
|
+
* including nested _and/_or blocks.
|
|
123
|
+
*/
|
|
124
|
+
function isPropertyUsedInFilter(property, filter) {
|
|
125
|
+
if (!filter) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
if (filter[property]) {
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
if (filter._and) {
|
|
132
|
+
for (const nestedFilter of filter._and) {
|
|
133
|
+
if (isPropertyUsedInFilter(property, nestedFilter)) {
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (filter._or) {
|
|
139
|
+
for (const nestedFilter of filter._or) {
|
|
140
|
+
if (isPropertyUsedInFilter(property, nestedFilter)) {
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return false;
|
|
65
146
|
}
|
|
66
147
|
function buildWhereCondition(fieldName, operator, operand, argIndex, dbType) {
|
|
67
148
|
switch (operator) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-filter-params.js","sourceRoot":"","sources":["../../../../src/service/helpers/list-query-builder/parse-filter-params.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"parse-filter-params.js","sourceRoot":"","sources":["../../../../src/service/helpers/list-query-builder/parse-filter-params.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vendure/core",
|
|
3
|
-
"version": "3.5.2
|
|
3
|
+
"version": "3.5.2",
|
|
4
4
|
"description": "A modern, headless ecommerce framework",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@nestjs/platform-express": "^11.0.12",
|
|
50
50
|
"@nestjs/terminus": "^11.0.0",
|
|
51
51
|
"@nestjs/typeorm": "^11.0.0",
|
|
52
|
-
"@vendure/common": "
|
|
52
|
+
"@vendure/common": "3.5.2",
|
|
53
53
|
"bcrypt": "^5.1.1",
|
|
54
54
|
"body-parser": "^1.20.2",
|
|
55
55
|
"cookie-session": "^2.1.0",
|