@starbemtech/star-db-query-builder 1.4.0 → 1.4.1

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.
@@ -1,4 +1,4 @@
1
- import { QueryParams, RawQueryParams, CursorPageResult } from './types';
1
+ import { QueryParams, RawQueryParams, CursorPageResult, Conditions } from './types';
2
2
  import { IDatabaseClient, ITransactionClient } from '../db/IDatabaseClient';
3
3
  /**
4
4
  * Finds the first record in the specified table
@@ -338,7 +338,39 @@ export declare const deleteMany: <T>({ tableName, dbClient, ids, field, permanen
338
338
  * unaccent: true,
339
339
  * })
340
340
  */
341
- export declare const joins: <T>({ tableName, dbClient, select, joins, where, groupBy, orderBy, limit, offset, unaccent, }: QueryParams<T>) => Promise<T[]>;
341
+ export declare const joins: <T, W = T>({ tableName, dbClient, select, joins, where, groupBy, orderBy, limit, offset, unaccent, }: Omit<QueryParams<T>, "where"> & {
342
+ /**
343
+ * `W` (defaults to `T`) is a separate generic from the result row type `T`:
344
+ * a join's `where` routinely qualifies columns from joined tables (e.g.
345
+ * `'orders.total'`), which are never keys of `T`. `Conditions<T | W>`'s
346
+ * `OR`/`AND`/`JOINS` already accept a dotted qualified-column key
347
+ * structurally (see `QualifiedCondition` in `./types`), so this only
348
+ * matters when `T` is passed explicitly and a qualified column is needed
349
+ * at the top level of `where` (not inside `AND`/`OR`/`JOINS`) — pass `W`
350
+ * explicitly too in that case:
351
+ * `joins<Row, Row & { 'orders.total'?: unknown }>(...)`.
352
+ */
353
+ where?: Conditions<W>;
354
+ }) => Promise<T[]>;
355
+ /**
356
+ * Error thrown by `rawQuery` when the underlying driver query fails.
357
+ *
358
+ * Carries over the original driver error as `cause` plus the common
359
+ * cross-driver fields consumers actually branch on (e.g. Postgres'
360
+ * `code: '23505'` for a unique violation, `detail`, `constraint`; mysql2's
361
+ * `errno`/`sqlState`) — `rawQuery` used to wrap failures in a plain `Error`
362
+ * built from just `error.message`, which discarded all of this and left
363
+ * callers with no way to distinguish a conflict from a syntax error.
364
+ */
365
+ export declare class RawQueryError extends Error {
366
+ cause?: unknown;
367
+ code?: string;
368
+ detail?: string;
369
+ constraint?: string;
370
+ errno?: number;
371
+ sqlState?: string;
372
+ constructor(message: string, cause: unknown);
373
+ }
342
374
  /**
343
375
  * Executa uma query SQL raw diretamente no banco de dados
344
376
  * @param params - Parâmetros da query raw
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.beginTransaction = exports.withTransaction = exports.rawQuery = exports.joins = exports.deleteMany = exports.deleteOne = exports.updateMany = exports.update = exports.upsert = exports.insertMany = exports.insert = exports.findManyCursor = exports.findMany = exports.findFirst = void 0;
3
+ exports.beginTransaction = exports.withTransaction = exports.rawQuery = exports.RawQueryError = exports.joins = exports.deleteMany = exports.deleteOne = exports.updateMany = exports.update = exports.upsert = exports.insertMany = exports.insert = exports.findManyCursor = exports.findMany = exports.findFirst = void 0;
4
4
  const uuid_1 = require("uuid");
5
5
  const utils_1 = require("./utils");
6
6
  const JOIN_TYPES = new Set(['INNER', 'LEFT', 'RIGHT', 'FULL']);
@@ -492,11 +492,12 @@ const update = async ({ tableName, dbClient, id, data, returning, }) => {
492
492
  throw new Error(`ID is required for update() on table "${tableName}"`);
493
493
  if (!data)
494
494
  throw new Error('Data object is required');
495
- if (Object.keys(data).length === 0)
495
+ const definedData = (0, utils_1.stripUndefinedValues)(data);
496
+ if (Object.keys(definedData).length === 0)
496
497
  throw new Error('Data object must have at least one field to update');
497
- const keys = Object.keys(data);
498
+ const keys = Object.keys(definedData);
498
499
  keys.forEach((key) => (0, utils_1.assertValidIdentifier)(key, 'column name'));
499
- const values = Object.values(data);
500
+ const values = Object.values(definedData);
500
501
  const quotedKeys = keys.map((key) => (0, utils_1.quoteIdentifier)(key, dbClient.clientType));
501
502
  const setClause = (0, utils_1.generateSetClause)(quotedKeys, dbClient.clientType);
502
503
  const idPlaceholder = dbClient.clientType === 'pg' ? `$${values.length + 1}` : '?';
@@ -553,13 +554,14 @@ const updateMany = async ({ tableName, dbClient, data, where, returning, }) => {
553
554
  throw new Error('DB client is required');
554
555
  if (!data)
555
556
  throw new Error('Data object is required');
556
- if (Object.keys(data).length === 0)
557
+ const definedData = (0, utils_1.stripUndefinedValues)(data);
558
+ if (Object.keys(definedData).length === 0)
557
559
  throw new Error('Data object must have at least one field to update');
558
560
  if (!where)
559
561
  throw new Error('Where condition is required');
560
- const keys = Object.keys(data);
562
+ const keys = Object.keys(definedData);
561
563
  keys.forEach((key) => (0, utils_1.assertValidIdentifier)(key, 'column name'));
562
- const values = Object.values(data);
564
+ const values = Object.values(definedData);
563
565
  // Generate SET clause with correct placeholders
564
566
  const quotedKeys = keys.map((key) => (0, utils_1.quoteIdentifier)(key, dbClient.clientType));
565
567
  const setClause = (0, utils_1.generateSetClause)(quotedKeys, dbClient.clientType);
@@ -573,19 +575,29 @@ const updateMany = async ({ tableName, dbClient, data, where, returning, }) => {
573
575
  if (returning && returning.length > 0) {
574
576
  query += ` RETURNING ${(0, utils_1.createSelectFields)(returning, dbClient.clientType)}`;
575
577
  }
578
+ return await dbClient.query(query, [...values, ...whereParams]);
576
579
  }
577
- const updated = await dbClient.query(query, [...values, ...whereParams]);
578
- if (dbClient.clientType === 'mysql') {
579
- // For MySQL, we need to fetch the updated records separately
580
- // since MySQL doesn't support RETURNING clause
581
- const rows = await dbClient.query(`SELECT ${returning && returning.length > 0
582
- ? (0, utils_1.createSelectFields)(returning, dbClient.clientType)
583
- : '*'} FROM ${tableName}
584
- ${whereClause}
585
- `, whereParams);
586
- return rows;
580
+ // MySQL has no RETURNING, so the rows have to be fetched with a separate
581
+ // SELECT. That SELECT must capture *which* rows matched before the UPDATE
582
+ // runs: re-running the original WHERE afterwards (as this used to do)
583
+ // silently returns the wrong rows whenever the UPDATE changes a column the
584
+ // WHERE itself filters on — e.g. `where: { status: 'pending' }` with
585
+ // `data: { status: 'done' }` matches zero rows once every row's status has
586
+ // already flipped to 'done', so the caller got back `[]` instead of the
587
+ // rows it just updated.
588
+ const idColumn = (0, utils_1.quoteIdentifier)('id', dbClient.clientType);
589
+ const matchedIdRows = await dbClient.query(`SELECT ${idColumn} FROM ${tableName}${whereClause}`, whereParams);
590
+ if (matchedIdRows.length === 0) {
591
+ await dbClient.query(query, [...values, ...whereParams]);
592
+ return [];
587
593
  }
588
- return updated;
594
+ const ids = matchedIdRows.map((row) => row.id);
595
+ await dbClient.query(query, [...values, ...whereParams]);
596
+ const idPlaceholders = ids.map(() => '?').join(', ');
597
+ const rows = await dbClient.query(`SELECT ${returning && returning.length > 0
598
+ ? (0, utils_1.createSelectFields)(returning, dbClient.clientType)
599
+ : '*'} FROM ${tableName} WHERE ${idColumn} IN (${idPlaceholders})`, ids);
600
+ return rows;
589
601
  };
590
602
  exports.updateMany = updateMany;
591
603
  /**
@@ -734,6 +746,39 @@ const joins = async ({ tableName, dbClient, select, joins, where, groupBy, order
734
746
  return rows;
735
747
  };
736
748
  exports.joins = joins;
749
+ /**
750
+ * Error thrown by `rawQuery` when the underlying driver query fails.
751
+ *
752
+ * Carries over the original driver error as `cause` plus the common
753
+ * cross-driver fields consumers actually branch on (e.g. Postgres'
754
+ * `code: '23505'` for a unique violation, `detail`, `constraint`; mysql2's
755
+ * `errno`/`sqlState`) — `rawQuery` used to wrap failures in a plain `Error`
756
+ * built from just `error.message`, which discarded all of this and left
757
+ * callers with no way to distinguish a conflict from a syntax error.
758
+ */
759
+ class RawQueryError extends Error {
760
+ constructor(message, cause) {
761
+ super(message);
762
+ this.name = 'RawQueryError';
763
+ // Set manually rather than via the ES2022 `Error(message, { cause })`
764
+ // constructor form, which this project's `lib` target doesn't include.
765
+ this.cause = cause;
766
+ if (cause && typeof cause === 'object') {
767
+ const driverError = cause;
768
+ if (typeof driverError.code === 'string')
769
+ this.code = driverError.code;
770
+ if (typeof driverError.detail === 'string')
771
+ this.detail = driverError.detail;
772
+ if (typeof driverError.constraint === 'string')
773
+ this.constraint = driverError.constraint;
774
+ if (typeof driverError.errno === 'number')
775
+ this.errno = driverError.errno;
776
+ if (typeof driverError.sqlState === 'string')
777
+ this.sqlState = driverError.sqlState;
778
+ }
779
+ }
780
+ }
781
+ exports.RawQueryError = RawQueryError;
737
782
  /**
738
783
  * Executa uma query SQL raw diretamente no banco de dados
739
784
  * @param params - Parâmetros da query raw
@@ -779,7 +824,7 @@ const rawQuery = async ({ dbClient, sql, params = [], }) => {
779
824
  return result;
780
825
  }
781
826
  catch (error) {
782
- throw new Error(`Raw query execution failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
827
+ throw new RawQueryError(`Raw query execution failed: ${error instanceof Error ? error.message : 'Unknown error'}`, error);
783
828
  }
784
829
  };
785
830
  exports.rawQuery = rawQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/core/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/core/repository.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AASjC,mCAegB;AAEhB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACI,MAAM,SAAS,GAAG,KAAK,EAAK,EACjC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,GACQ,EAAqB,EAAE;IACtC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAA,6BAAqB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAEvD,MAAM,MAAM,GAAG,IAAA,0BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC9D,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,IAAA,yBAAiB,EAC7C,KAAK,EACL,CAAC,EACD,QAAQ,CAAC,UAAU,CACpB,CAAA;IAED,MAAM,aAAa,GAAG,IAAA,2BAAmB,EAAC,OAAO,CAAC,CAAA;IAClD,MAAM,aAAa,GAAG,IAAA,2BAAmB,EAAC,OAAO,CAAC,CAAA;IAElD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAC/B,UAAU,MAAM,SAAS,SAAS;QAC9B,WAAW;QACX,aAAa;QACb,aAAa;;OAEd,EACH,MAAM,CACP,CAAA;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;AACxB,CAAC,CAAA;AAjCY,QAAA,SAAS,aAiCrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,MAAM,QAAQ,GAAG,KAAK,EAAK,EAChC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,GACO,EAAgB,EAAE;IACjC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAA,6BAAqB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAEvD,MAAM,MAAM,GAAG,IAAA,0BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC9D,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,IAAA,yBAAiB,EAC7C,KAAK,EACL,CAAC,EACD,QAAQ,CAAC,UAAU,EACnB,QAAQ,CACT,CAAA;IAED,MAAM,aAAa,GAAG,IAAA,2BAAmB,EAAC,OAAO,CAAC,CAAA;IAClD,MAAM,aAAa,GAAG,IAAA,2BAAmB,EAAC,OAAO,CAAC,CAAA;IAClD,MAAM,WAAW,GAAG,IAAA,yBAAiB,EAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,YAAY,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,CAAA;IAE/C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAC/B,UAAU,MAAM,SAAS,SAAS;QAC9B,WAAW;QACX,aAAa;QACb,aAAa;QACb,WAAW;QACX,YAAY;KACf,EACD,MAAM,CACP,CAAA;IAED,OAAO,IAAI,IAAI,EAAE,CAAA;AACnB,CAAC,CAAA;AAxCY,QAAA,QAAQ,YAwCpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACI,MAAM,cAAc,GAAG,KAAK,EAAK,EACtC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,EACL,WAAW,GAAG,IAAI,EAClB,MAAM,EACN,SAAS,GAAG,KAAK,EACjB,KAAK,GAAG,EAAE,EACV,QAAQ,GAKT,EAAgC,EAAE;IACjC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAA,6BAAqB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACvD,IAAA,6BAAqB,EAAC,WAAW,EAAE,cAAc,CAAC,CAAA;IAClD,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,uBAAuB,SAAS,kCAAkC,CACnE,CAAA;IACH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,gCAAgC,CAAC,CAAA;IAC3E,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,0BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC9D,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,GAAG,IAAA,yBAAiB,EAC7D,KAAK,EACL,CAAC,EACD,QAAQ,CAAC,UAAU,EACnB,QAAQ,CACT,CAAA;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,CAAA;IAC/B,IAAI,eAAe,GAAG,EAAE,CAAA;IACxB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;QACxE,eAAe,GAAG,GAAG,WAAW,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAA;QAC7D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC;IAED,IAAI,aAAa,GAAG,WAAW,CAAA;IAC/B,IAAI,eAAe,EAAE,CAAC;QACpB,aAAa,GAAG,WAAW;YACzB,CAAC,CAAC,GAAG,WAAW,QAAQ,eAAe,EAAE;YACzC,CAAC,CAAC,UAAU,eAAe,EAAE,CAAA;IACjC,CAAC;IAED,mEAAmE;IACnE,uBAAuB;IACvB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAC/B,UAAU,MAAM,SAAS,SAAS;QAC9B,aAAa;iBACJ,WAAW,IAAI,SAAS;cAC3B,KAAK,GAAG,CAAC;KAClB,EACD,MAAM,CACP,CAAA;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAoC,CAAA;IAExE,OAAO;QACL,IAAI;QACJ,UAAU,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;KACvE,CAAA;AACH,CAAC,CAAA;AAvEY,QAAA,cAAc,kBAuE1B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACI,MAAM,MAAM,GAAG,KAAK,EAAQ,EACjC,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,SAAS,GAC0C,EAAc,EAAE;IACnE,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAA,6BAAqB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACvD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAErD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,6BAAqB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAA;IACnE,IAAA,kCAA0B,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAE7C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAElC,IAAI,CAAC,OAAO,CAAC,IAAA,uBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IACxD,MAAM,aAAa,GAAW,IAAA,SAAI,GAAE,CAAA;IACpC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IAE7B,IAAI,CAAC,IAAI,CAAC,IAAA,uBAAe,EAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAEvB,MAAM,YAAY,GAAG,IAAA,4BAAoB,EAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IACpE,IAAI,KAAK,GAAG,eAAe,SAAS,KAAK,IAAI,CAAC,IAAI,CAChD,IAAI,CACL,aAAa,YAAY,GAAG,CAAA;IAE7B,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACjC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,IAAI,cAAc,IAAA,0BAAkB,EACvC,SAAS,EACT,QAAQ,CAAC,UAAU,CACpB,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAM,KAAK,EAAE,MAAM,CAAC,CAAA;IAEzD,IAAI,QAAQ,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAC/B,UACE,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAC/B,CAAC,CAAC,IAAA,0BAAkB,EAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC;YACpD,CAAC,CAAC,GACN,SAAS,SAAS;;;OAGjB,EACD,CAAC,aAAa,CAAC,CAChB,CAAA;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;IAED,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC,CAAA;AA1DY,QAAA,MAAM,UA0DlB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACI,MAAM,UAAU,GAAG,KAAK,EAAQ,EACrC,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,SAAS,GAC4C,EAAgB,EAAE;IACvE,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAA,6BAAqB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACvD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAE/D,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAwB,CAAA;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,6BAAqB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAA;IACnE,IAAA,kCAA0B,EAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAEjD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAA2B,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAE3D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,0CAA0C;gBAC1E,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAClE,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IAE5E,MAAM,OAAO,GAAG;QACd,IAAA,uBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC1C,GAAG,IAAI;QACP,IAAA,uBAAe,EAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC;KACnD,CAAA;IAED,IAAA,kCAA0B,EAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAEtE,IAAI,KAAK,GAAG,eAAe,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAA;IAEtE,MAAM,SAAS,GAAU,EAAE,CAAA;IAC3B,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,MAAM,YAAY,GAAa,EAAE,CAAA;IAEjC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,IAA2B,CAAA;QAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAChD,MAAM,aAAa,GAAW,IAAA,SAAI,GAAE,CAAA;QACpC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAChC,MAAM,aAAa,GAAG,CAAC,aAAa,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;QAE5D,SAAS,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;QAEhC,4CAA4C;QAC5C,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;YAChD,MAAM,YAAY,GAAG,OAAO;iBACzB,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,UAAU,GAAG,KAAK,EAAE,CAAC;iBAC3C,IAAI,CAAC,IAAI,CAAC,CAAA;YACb,SAAS,CAAC,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,CAAA;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtD,SAAS,CAAC,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,CAAA;QACrC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE7B,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACjC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,IAAI,cAAc,IAAA,0BAAkB,EACvC,SAAS,EACT,QAAQ,CAAC,UAAU,CACpB,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAM,KAAK,EAAE,SAAS,CAAC,CAAA;IAE5D,IAAI,QAAQ,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAE3D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAC/B,UACE,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAC/B,CAAC,CAAC,IAAA,0BAAkB,EAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC;YACpD,CAAC,CAAC,GACN,SAAS,SAAS;uBACD,YAAY;6BACN,YAAY;OAClC,EACD,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,CACnC,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAvGY,QAAA,UAAU,cAuGtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACI,MAAM,MAAM,GAAG,KAAK,EAAQ,EACjC,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,SAAS,GAMV,EAAc,EAAE;IACf,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAA,6BAAqB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACvD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IACrD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/B,IAAA,6BAAqB,EAAC,KAAK,EAAE,gBAAgB,CAAC,CAC/C,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,6BAAqB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAA;IACnE,IAAA,kCAA0B,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;IAElC,MAAM,cAAc,GAClB,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAA;IAClE,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,6BAAqB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAA;IAE1E,oEAAoE;IACpE,qEAAqE;IACrE,gDAAgD;IAChD,MAAM,mBAAmB,GAAG,cAAc,CAAC,MAAM,CAC/C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CACrD,CAAA;IACD,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,mEAAmE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,6JAA6J,CAC/P,CAAA;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAA2B,CAAA;QAC1C,MAAM,qBAAqB,GAAG,cAAc,CAAC,MAAM,CACjD,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,CACvC,CAAA;QACD,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,qEAAqE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,6HAA6H,CACnO,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAElC,IAAI,CAAC,OAAO,CAAC,IAAA,uBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IACxD,MAAM,aAAa,GAAW,IAAA,SAAI,GAAE,CAAA;IACpC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IAE7B,IAAI,CAAC,IAAI,CAAC,IAAA,uBAAe,EAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAEvB,MAAM,YAAY,GAAG,IAAA,4BAAoB,EAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IACpE,IAAI,KAAK,GAAG,eAAe,SAAS,KAAK,IAAI,CAAC,IAAI,CAChD,IAAI,CACL,aAAa,YAAY,GAAG,CAAA;IAE7B,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,cAAc;aAClC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,uBAAe,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAC5C,IAAI,CAAC,IAAI,CAAC,CAAA;QACb,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;aACrE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACzC,OAAO,GAAG,MAAM,eAAe,MAAM,EAAE,CAAA;QACzC,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,KAAK,IAAI,iBAAiB,cAAc,mBAAmB,SAAS,EAAE,CAAA;QAEtE,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,IAAI,cAAc,IAAA,0BAAkB,EACvC,SAAS,EACT,QAAQ,CAAC,UAAU,CACpB,EAAE,CAAA;QACL,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAM,KAAK,EAAE,MAAM,CAAC,CAAA;QACvD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;SACrE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC5C,OAAO,GAAG,MAAM,aAAa,MAAM,GAAG,CAAA;IACxC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,KAAK,IAAI,4BAA4B,SAAS,EAAE,CAAA;IAEhD,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAEnC,MAAM,MAAM,GAAG,IAA2B,CAAA;IAC1C,MAAM,WAAW,GAAG,cAAc;SAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAA,uBAAe,EAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC;SACxD,IAAI,CAAC,OAAO,CAAC,CAAA;IAChB,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAEnE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAC/B,UACE,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAC/B,CAAC,CAAC,IAAA,0BAAkB,EAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC;QACpD,CAAC,CAAC,GACN,SAAS,SAAS;cACR,WAAW;KACpB,EACD,cAAc,CACf,CAAA;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC,CAAA;AA5HY,QAAA,MAAM,UA4HlB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,MAAM,MAAM,GAAG,KAAK,EAAQ,EACjC,SAAS,EACT,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,SAAS,GAC0C,EAAqB,EAAE;IAC1E,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAA,6BAAqB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACvD,IAAI,CAAC,EAAE;QACL,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,GAAG,CAAC,CAAA;IACxE,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAErD,MAAM,WAAW,GAAG,IAAA,4BAAoB,EAAC,IAAc,CAAC,CAAA;IACxD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IAEvE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACrC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,6BAAqB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAA;IAChE,MAAM,MAAM,GAAU,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAEhD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAClC,IAAA,uBAAe,EAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAC1C,CAAA;IACD,MAAM,SAAS,GAAG,IAAA,yBAAiB,EAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IACpE,MAAM,aAAa,GACjB,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IAC9D,IAAI,KAAK,GAAG,UAAU,SAAS,QAAQ,SAAS,eAAe,aAAa,EAAE,CAAA;IAC9E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEf,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACjC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,IAAI,cAAc,IAAA,0BAAkB,EAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAA;QAC7E,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAM,KAAK,EAAE,MAAM,CAAC,CAAA;IAExD,IAAI,QAAQ,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAC/B,UACE,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAC/B,CAAC,CAAC,IAAA,0BAAkB,EAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC;YACpD,CAAC,CAAC,GACN,SAAS,SAAS;;;OAGjB,EACD,CAAC,EAAE,CAAC,CACL,CAAA;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAA;AAxDY,QAAA,MAAM,UAwDlB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACI,MAAM,UAAU,GAAG,KAAK,EAAQ,EACrC,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,SAAS,GAC0C,EAAgB,EAAE;IACrE,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAA,6BAAqB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACvD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IACrD,MAAM,WAAW,GAAG,IAAA,4BAAoB,EAAC,IAAc,CAAC,CAAA;IACxD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACvE,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAE1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACrC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,6BAAqB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAA;IAChE,MAAM,MAAM,GAAU,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAEhD,gDAAgD;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAClC,IAAA,uBAAe,EAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAC1C,CAAA;IACD,MAAM,SAAS,GAAG,IAAA,yBAAiB,EAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAEpE,oEAAoE;IACpE,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,IAAA,yBAAiB,EAClD,KAAK,EACL,MAAM,CAAC,MAAM,GAAG,CAAC,EACjB,QAAQ,CAAC,UAAU,CACpB,CAAA;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,sIAAsI,CACvI,CAAA;IACH,CAAC;IAED,IAAI,KAAK,GAAG,UAAU,SAAS,QAAQ,SAAS,GAAG,WAAW,EAAE,CAAA;IAEhE,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACjC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,IAAI,cAAc,IAAA,0BAAkB,EAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAA;QAC7E,CAAC;QAED,OAAO,MAAM,QAAQ,CAAC,KAAK,CAAM,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,2EAA2E;IAC3E,qEAAqE;IACrE,2EAA2E;IAC3E,wEAAwE;IACxE,wBAAwB;IACxB,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC3D,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,KAAK,CACxC,UAAU,QAAQ,SAAS,SAAS,GAAG,WAAW,EAAE,EACpD,WAAW,CACZ,CAAA;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,CAAC,KAAK,CAAM,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAA;QAC7D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAE9C,MAAM,QAAQ,CAAC,KAAK,CAAM,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAA;IAE7D,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAC/B,UACE,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAC/B,CAAC,CAAC,IAAA,0BAAkB,EAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC;QACpD,CAAC,CAAC,GACN,SAAS,SAAS,UAAU,QAAQ,QAAQ,cAAc,GAAG,EAC7D,GAAG,CACJ,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAnFY,QAAA,UAAU,cAmFtB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,MAAM,SAAS,GAAG,KAAK,EAAK,EACjC,SAAS,EACT,QAAQ,EACR,EAAE,EACF,WAAW,GAAG,KAAK,GACwB,EAAiB,EAAE;IAC9D,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAA,6BAAqB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACvD,IAAI,CAAC,EAAE;QACL,MAAM,IAAI,KAAK,CAAC,4CAA4C,SAAS,GAAG,CAAC,CAAA;IAE3E,MAAM,QAAQ,CAAC,KAAK,CAClB,WAAW;QACT,CAAC,CAAC,eAAe,SAAS,eACtB,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GACxC,EAAE;QACJ,CAAC,CAAC,UAAU,SAAS,sCACjB,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GACxC,EAAE,EACN,CAAC,EAAE,CAAC,CACL,CAAA;AACH,CAAC,CAAA;AAtBY,QAAA,SAAS,aAsBrB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,MAAM,UAAU,GAAG,KAAK,EAAK,EAClC,SAAS,EACT,QAAQ,EACR,GAAG,EACH,KAAK,GAAG,IAAI,EACZ,WAAW,GAAG,KAAK,GAKpB,EAAiB,EAAE;IAClB,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAA,6BAAqB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACvD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACzD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAChD,IAAA,6BAAqB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACrC,IAAA,kCAA0B,EAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAEpD,MAAM,YAAY,GAChB,QAAQ,CAAC,UAAU,KAAK,IAAI;QAC1B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACnD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEnC,MAAM,KAAK,GAAG,WAAW;QACvB,CAAC,CAAC,eAAe,SAAS,UAAU,KAAK,QAAQ,YAAY,GAAG;QAChE,CAAC,CAAC,UAAU,SAAS,iCAAiC,KAAK,QAAQ,YAAY,GAAG,CAAA;IAEpF,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC,CAAA;AA9BY,QAAA,UAAU,cA8BtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACI,MAAM,KAAK,GAAG,KAAK,EAAY,EACpC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,GAcT,EAAgB,EAAE;IACjB,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAA,6BAAqB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAEvD,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,CAAC,IAAI,iDAAiD,CAClF,CAAA;YACH,CAAC;YACD,IAAA,6BAAqB,EAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;YAC/C,IAAA,6BAAqB,EAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IAClD,MAAM,YAAY,GAAG,IAAA,0BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IACpE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,IAAA,yBAAiB,EAC7C,KAAK,EACL,CAAC,EACD,QAAQ,CAAC,UAAU,EACnB,QAAQ,CACT,CAAA;IACD,MAAM,aAAa,GAAG,IAAA,2BAAmB,EAAC,OAAO,CAAC,CAAA;IAClD,MAAM,aAAa,GAAG,IAAA,2BAAmB,EAAC,OAAO,CAAC,CAAA;IAClD,MAAM,WAAW,GAAG,IAAA,yBAAiB,EAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,YAAY,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,CAAA;IAE/C,MAAM,YAAY,GAAiB;QACjC,MAAM,EAAE,CAAC,YAAY,CAAC;QACtB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,aAAa,CAAC;QACxB,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,YAAY;KACrB,CAAA;IAED,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAA;IAElD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAM,WAAW,EAAE,MAAM,CAAC,CAAA;IAE3D,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAtEY,QAAA,KAAK,SAsEjB;AAED;;;;;;;;;GASG;AACH,MAAa,aAAc,SAAQ,KAAK;IAQtC,YAAY,OAAe,EAAE,KAAc;QACzC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;QAC3B,sEAAsE;QACtE,uEAAuE;QACvE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,KAAgC,CAAA;YACpD,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;YACtE,IAAI,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ;gBACxC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YAClC,IAAI,OAAO,WAAW,CAAC,UAAU,KAAK,QAAQ;gBAC5C,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;YAC1C,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAA;YACzE,IAAI,OAAO,WAAW,CAAC,QAAQ,KAAK,QAAQ;gBAC1C,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;QACxC,CAAC;IACH,CAAC;CACF;AA3BD,sCA2BC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACI,MAAM,QAAQ,GAAG,KAAK,EAAW,EACtC,QAAQ,EACR,GAAG,EACH,MAAM,GAAG,EAAE,GACI,EAAc,EAAE;IAC/B,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACvD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QACjC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAE/D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAI,GAAG,EAAE,MAAM,CAAC,CAAA;QACnD,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,aAAa,CACrB,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EACzF,KAAK,CACN,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAlBY,QAAA,QAAQ,YAkBpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,KAAK,UAAU,UAAU,CAAC,MAAoB;IAC5C,IAAI,WAAW,GAAG,UAAU,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,CAAA;IAE1E,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,WAAW,IAAI,IAAI,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,EAAE,EAAE,CAAA;QACjE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,WAAW,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;IAClC,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,WAAW,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,WAAW,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,WAAW,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;IAClC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,WAAW,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;IACnC,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACI,MAAM,eAAe,GAAG,KAAK,EAClC,QAAyB,EACzB,aAAqD,EACzC,EAAE;IACd,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAA;IAErD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAA;QAC/C,MAAM,WAAW,CAAC,MAAM,EAAE,CAAA;QAC1B,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAA;QAC5B,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAdY,QAAA,eAAe,mBAc3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACI,MAAM,gBAAgB,GAAG,KAAK,EACnC,QAAyB,EACI,EAAE;IAC/B,OAAO,QAAQ,CAAC,gBAAgB,EAAE,CAAA;AACpC,CAAC,CAAA;AAJY,QAAA,gBAAgB,oBAI5B"}
@@ -1,4 +1,4 @@
1
- import { IDatabaseClient } from '../db/IDatabaseClient';
1
+ import { IDatabaseClient, IQueryClient } from '../db/IDatabaseClient';
2
2
  export interface RetryOptions {
3
3
  retries?: number;
4
4
  factor?: number;
@@ -17,16 +17,24 @@ export interface OperatorCondition {
17
17
  }
18
18
  export type LogicalOperator = 'OR' | 'AND';
19
19
  export type Condition<T> = OperatorCondition | LogicalCondition<T>;
20
+ /**
21
+ * A condition keyed by a table-qualified column (e.g. `'orders.total'`),
22
+ * used inside `OR`/`AND`/`JOINS` to reference a column outside `T` — such as
23
+ * a joined table's column in `joins()`. Matched structurally by any key
24
+ * containing a dot, so it never swallows a plain (unqualified) typo of one
25
+ * of `T`'s own keys, which still only matches `Conditions<T>`.
26
+ */
27
+ type QualifiedCondition = Record<`${string}.${string}`, Condition<unknown> | undefined>;
20
28
  interface LogicalCondition<T> {
21
- OR?: Conditions<T>[];
22
- AND?: Conditions<T>[];
29
+ OR?: (Conditions<T> | QualifiedCondition)[];
30
+ AND?: (Conditions<T> | QualifiedCondition)[];
23
31
  /**
24
32
  * A nested AND-group of conditions rendered as its own parenthesized clause,
25
33
  * e.g. `(a = $1 AND b = $2)`. Despite the name this has nothing to do with
26
34
  * SQL JOINs (see the `joins()` query function for that) — it exists
27
35
  * alongside sibling top-level conditions rather than replacing them.
28
36
  */
29
- JOINS?: Conditions<object>[];
37
+ JOINS?: (Conditions<T> | QualifiedCondition)[];
30
38
  notExists?: OperatorCondition;
31
39
  }
32
40
  export type Conditions<T> = {
@@ -39,7 +47,7 @@ export type OrderBy = {
39
47
  }[];
40
48
  export interface QueryParams<T> {
41
49
  tableName: string;
42
- dbClient: IDatabaseClient;
50
+ dbClient: IQueryClient;
43
51
  id?: string;
44
52
  select?: string[];
45
53
  where?: Conditions<T>;
@@ -75,7 +83,7 @@ export interface CursorPageResult<T> {
75
83
  nextCursor: string | number | null;
76
84
  }
77
85
  export interface RawQueryParams {
78
- dbClient: IDatabaseClient;
86
+ dbClient: IQueryClient;
79
87
  sql: string;
80
88
  params?: any[];
81
89
  }
@@ -32,6 +32,23 @@ export declare const MAX_BIND_PARAMS = 65535;
32
32
  * @throws {Error} When `count` exceeds `MAX_BIND_PARAMS`
33
33
  */
34
34
  export declare const assertWithinBindParamLimit: (count: number, label: string) => void;
35
+ /**
36
+ * Drops every key whose value is `undefined` from a write payload (`update`
37
+ * / `updateMany`'s `data`).
38
+ *
39
+ * A partial DTO built by spreading an object with an optional, unset field
40
+ * (`{ ...partial }`) routinely carries an explicit `undefined` for that key
41
+ * rather than omitting it — `Object.keys`/`Object.values` still see it. Left
42
+ * in, it reaches the driver as a real bind parameter: node-postgres silently
43
+ * coerces it to SQL `NULL` (overwriting the column instead of leaving it
44
+ * untouched), while mysql2 rejects it outright. Filtering it out here makes
45
+ * "didn't pass a value" behave the same way on both drivers: the column is
46
+ * left alone, matching how a plain REST PATCH body treats a missing field.
47
+ *
48
+ * @param data - The write payload to filter
49
+ * @returns A shallow copy of `data` with every `undefined`-valued key removed
50
+ */
51
+ export declare const stripUndefinedValues: <T extends object>(data: T) => Partial<T>;
35
52
  /**
36
53
  * Validates that a value is a safe, bare SQL identifier
37
54
  *
@@ -1,20 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createOffsetClause = exports.createLimitClause = exports.createGroupByClause = exports.createOrderByClause = exports.createWhereClause = exports.generateSetClause = exports.generatePlaceholders = exports.createSelectFields = exports.assertNoAutoManagedColumns = exports.quoteIdentifier = exports.assertSafeSqlFragment = exports.assertValidIdentifier = exports.assertWithinBindParamLimit = exports.MAX_BIND_PARAMS = exports.MAX_IN_LIST_SIZE = void 0;
3
+ exports.createOffsetClause = exports.createLimitClause = exports.createGroupByClause = exports.createOrderByClause = exports.createWhereClause = exports.generateSetClause = exports.generatePlaceholders = exports.createSelectFields = exports.assertNoAutoManagedColumns = exports.quoteIdentifier = exports.assertSafeSqlFragment = exports.assertValidIdentifier = exports.stripUndefinedValues = exports.assertWithinBindParamLimit = exports.MAX_BIND_PARAMS = exports.MAX_IN_LIST_SIZE = void 0;
4
4
  /**
5
5
  * Matches a bare SQL identifier, optionally schema/table-qualified
6
- * (e.g. "id", "users", "users.id"). Used to validate table names,
7
- * GROUP BY / ORDER BY fields, join tables and delete-by fields, since
8
- * those are always plain identifiers and never need SQL expressions.
6
+ * (e.g. "id", "users", "users.id"). Used to validate table names, join
7
+ * tables, `where` field keys and delete-by fields, since those are always
8
+ * plain identifiers and never need SQL expressions. GROUP BY / ORDER BY
9
+ * fields are intentionally *not* restricted to this — they go through
10
+ * `assertSafeSqlFragment` instead, since both are documented to accept a
11
+ * full SQL expression (e.g. `COUNT(*) as total`), not just a bare column.
9
12
  */
10
13
  const IDENTIFIER_PATTERN = /^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)?$/;
11
14
  /**
12
15
  * Matches characters that have no legitimate use inside a SELECT
13
16
  * expression or a JOIN ON condition (statement terminators, comment
14
17
  * markers, backticks) but that are the building blocks of classic
15
- * SQL injection (stacked queries, comment-based truncation).
18
+ * SQL injection (stacked queries, comment-based truncation). Includes `#`,
19
+ * MySQL's own single-line comment marker (distinct from the `--`/`/* *‍/`
20
+ * forms both dialects share) — previously missing here, so a fragment like
21
+ * `id # , (SELECT ...)` on a MySQL connection passed this check untouched.
16
22
  */
17
- const DANGEROUS_SQL_PATTERN = /(;|--|\/\*|\*\/|`)/;
23
+ const DANGEROUS_SQL_PATTERN = /(;|--|\/\*|\*\/|`|#)/;
18
24
  /**
19
25
  * Maximum number of values accepted in a single `IN`/`NOT IN`/`BETWEEN`
20
26
  * condition array.
@@ -76,6 +82,33 @@ const WHERE_OPERATOR_WHITELIST = new Set([
76
82
  'IS NOT NULL',
77
83
  'NOT EXISTS',
78
84
  ]);
85
+ /**
86
+ * Drops every key whose value is `undefined` from a write payload (`update`
87
+ * / `updateMany`'s `data`).
88
+ *
89
+ * A partial DTO built by spreading an object with an optional, unset field
90
+ * (`{ ...partial }`) routinely carries an explicit `undefined` for that key
91
+ * rather than omitting it — `Object.keys`/`Object.values` still see it. Left
92
+ * in, it reaches the driver as a real bind parameter: node-postgres silently
93
+ * coerces it to SQL `NULL` (overwriting the column instead of leaving it
94
+ * untouched), while mysql2 rejects it outright. Filtering it out here makes
95
+ * "didn't pass a value" behave the same way on both drivers: the column is
96
+ * left alone, matching how a plain REST PATCH body treats a missing field.
97
+ *
98
+ * @param data - The write payload to filter
99
+ * @returns A shallow copy of `data` with every `undefined`-valued key removed
100
+ */
101
+ const stripUndefinedValues = (data) => {
102
+ const result = {};
103
+ for (const [key, value] of Object.entries(data)) {
104
+ if (value !== undefined) {
105
+ ;
106
+ result[key] = value;
107
+ }
108
+ }
109
+ return result;
110
+ };
111
+ exports.stripUndefinedValues = stripUndefinedValues;
79
112
  /**
80
113
  * Validates that a value is a safe, bare SQL identifier
81
114
  *
@@ -343,6 +376,13 @@ const createWhereClause = (conditions = {}, startIndex = 1, clientType, unaccent
343
376
  if (operator === 'BETWEEN' && value.length !== 2) {
344
377
  throw new Error(`Where condition on "${key}" uses operator "BETWEEN" with ${value.length} values — BETWEEN requires exactly 2 (start and end).`);
345
378
  }
379
+ if (value.length === 0 && operator !== 'BETWEEN') {
380
+ // `key IN ()` / `key NOT IN ()` is a SQL syntax error on both pg and
381
+ // MySQL (the list must have at least one element) — fail with a
382
+ // clear message instead of handing the caller that opaque driver
383
+ // error once the query reaches the database.
384
+ throw new Error(`Where condition on "${key}" uses operator "${operator}" with an empty array — this has no valid SQL translation. Pass at least one value, or omit the condition entirely if there is nothing to filter by.`);
385
+ }
346
386
  if (value.length > exports.MAX_IN_LIST_SIZE) {
347
387
  throw new Error(`Where condition on "${key}" has ${value.length} values for operator "${operator}", exceeding the maximum of ${exports.MAX_IN_LIST_SIZE}. Chunk the query instead of growing a single condition this large.`);
348
388
  }
@@ -388,22 +428,45 @@ const createWhereClause = (conditions = {}, startIndex = 1, clientType, unaccent
388
428
  return;
389
429
  processCondition(key, value);
390
430
  });
431
+ // A group element (one entry of an `OR`/`AND`/`JOINS` array) can carry more
432
+ // than one key, e.g. `{ status: ..., tenant_id: ... }` — those sibling keys
433
+ // are ANDed together, same as sibling keys at the top level of `where`.
434
+ // Only ever reading `Object.keys(subCondition)[0]` here used to silently
435
+ // drop every key past the first, which is how a scoping condition (e.g.
436
+ // `tenant_id`) placed alongside another key inside the same group element
437
+ // could vanish from the generated SQL with no error.
438
+ const processGroupElement = (subCondition) => {
439
+ if (typeof subCondition !== 'object' ||
440
+ Array.isArray(subCondition) ||
441
+ subCondition === null) {
442
+ return '';
443
+ }
444
+ const parts = Object.entries(subCondition).map(([key, condition]) => {
445
+ // Adiciona o tratamento de unaccent nas condições do grupo também
446
+ processCondition(key, condition);
447
+ return whereParts.pop();
448
+ });
449
+ // Parenthesized whenever there's more than one key so this element's
450
+ // AND binds as a unit regardless of the surrounding logical operator
451
+ // (matters when this element sits inside an `OR` group).
452
+ return parts.length > 1 ? `(${parts.join(' AND ')})` : parts.join(' AND ');
453
+ };
454
+ // An empty `AND`/`OR`/`JOINS` array has no unambiguous SQL meaning (and
455
+ // isn't valid SQL syntax either way) — it used to silently render as the
456
+ // bare fragment "()", producing a query like `WHERE ()` or `WHERE a = $1
457
+ // AND ()`. Fail loud instead of handing the caller that syntax error once
458
+ // it reaches the database.
459
+ const assertNonEmptyGroup = (compositeConditions, label) => {
460
+ if (compositeConditions.length === 0) {
461
+ throw new Error(`Where condition "${label}" is an empty array — remove the key instead of passing an empty group.`);
462
+ }
463
+ };
391
464
  if ('JOINS' in conditions) {
392
465
  const compositeConditions = conditions.JOINS;
393
466
  if (Array.isArray(compositeConditions)) {
467
+ assertNonEmptyGroup(compositeConditions, 'JOINS');
394
468
  const subWhereParts = compositeConditions
395
- .map((subCondition) => {
396
- if (typeof subCondition === 'object' &&
397
- !Array.isArray(subCondition) &&
398
- subCondition !== null) {
399
- const key = Object.keys(subCondition)[0];
400
- const condition = subCondition[key];
401
- // Adiciona o tratamento de unaccent nas condições de JOINS
402
- processCondition(key, condition);
403
- return whereParts.pop();
404
- }
405
- return '';
406
- })
469
+ .map(processGroupElement)
407
470
  .filter((part) => part);
408
471
  whereParts.push(`(${subWhereParts.join(' AND ')})`);
409
472
  }
@@ -411,18 +474,9 @@ const createWhereClause = (conditions = {}, startIndex = 1, clientType, unaccent
411
474
  const pushLogicalGroup = (compositeConditions, logicalOperator) => {
412
475
  if (!Array.isArray(compositeConditions))
413
476
  return;
477
+ assertNonEmptyGroup(compositeConditions, logicalOperator);
414
478
  const subWhereParts = compositeConditions
415
- .map((subCondition) => {
416
- if (typeof subCondition === 'object' &&
417
- !Array.isArray(subCondition) &&
418
- subCondition !== null) {
419
- const key = Object.keys(subCondition)[0];
420
- const condition = subCondition[key];
421
- processCondition(key, condition); // Certifica que o unaccent é processado aqui também
422
- return whereParts.pop();
423
- }
424
- return '';
425
- })
479
+ .map(processGroupElement)
426
480
  .filter((part) => part);
427
481
  whereParts.push(`(${subWhereParts.join(` ${logicalOperator} `)})`);
428
482
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/utils.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,24 @@
1
1
  import { DBClients } from '../core/types';
2
- export interface ITransactionClient {
2
+ /**
3
+ * What every query-executing function in `repository.ts` (`findFirst`,
4
+ * `insert`, `update`, ...) actually needs from a client: `clientType` (to
5
+ * pick the right placeholder/quoting dialect) and `query`. Kept separate
6
+ * from `IDatabaseClient` so a transaction client — which has no
7
+ * `beginTransaction` of its own — can be passed as `dbClient` to these
8
+ * functions too (`withTransaction(dbClient, (tx) => insert({ dbClient: tx, ... }))`,
9
+ * the pattern documented in `docs/methods/transactions.md` and the README).
10
+ */
11
+ export interface IQueryClient {
12
+ clientType: DBClients;
3
13
  query: <T>(sql: string, params?: any[]) => Promise<T>;
14
+ }
15
+ export interface ITransactionClient extends IQueryClient {
4
16
  commit: () => Promise<void>;
5
17
  rollback: () => Promise<void>;
6
18
  }
7
19
  /**
8
20
  * Database client interface
9
21
  */
10
- export type IDatabaseClient = {
11
- clientType: DBClients;
12
- query: <T>(sql: string, params?: any[]) => Promise<T>;
22
+ export type IDatabaseClient = IQueryClient & {
13
23
  beginTransaction: () => Promise<ITransactionClient>;
14
24
  };
@@ -114,6 +114,7 @@ const createMysqlClient = (pool, retryOptions, queryTimeout) => {
114
114
  try {
115
115
  await connection.beginTransaction();
116
116
  return {
117
+ clientType: 'mysql',
117
118
  query: async (sql, params) => {
118
119
  const startTime = Date.now();
119
120
  try {