@venizia/ignis 0.0.5-7 → 0.0.5-8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/base/repositories/common/types.d.ts +2 -2
  2. package/dist/base/repositories/common/types.d.ts.map +1 -1
  3. package/dist/base/repositories/common/types.js +9 -6
  4. package/dist/base/repositories/common/types.js.map +1 -1
  5. package/dist/base/repositories/core/base.d.ts +25 -1
  6. package/dist/base/repositories/core/base.d.ts.map +1 -1
  7. package/dist/base/repositories/core/base.js +105 -9
  8. package/dist/base/repositories/core/base.js.map +1 -1
  9. package/dist/base/repositories/core/persistable.d.ts +12 -0
  10. package/dist/base/repositories/core/persistable.d.ts.map +1 -1
  11. package/dist/base/repositories/core/persistable.js +48 -20
  12. package/dist/base/repositories/core/persistable.js.map +1 -1
  13. package/dist/base/repositories/core/readable.d.ts.map +1 -1
  14. package/dist/base/repositories/core/readable.js +16 -3
  15. package/dist/base/repositories/core/readable.js.map +1 -1
  16. package/dist/base/repositories/operators/filter.d.ts +35 -3
  17. package/dist/base/repositories/operators/filter.d.ts.map +1 -1
  18. package/dist/base/repositories/operators/filter.js +185 -96
  19. package/dist/base/repositories/operators/filter.js.map +1 -1
  20. package/dist/base/repositories/operators/query.d.ts +2 -0
  21. package/dist/base/repositories/operators/query.d.ts.map +1 -1
  22. package/dist/base/repositories/operators/query.js +4 -0
  23. package/dist/base/repositories/operators/query.js.map +1 -1
  24. package/dist/helpers/inversion/common/types.d.ts +15 -0
  25. package/dist/helpers/inversion/common/types.d.ts.map +1 -1
  26. package/package.json +1 -1
@@ -36,9 +36,15 @@ class ReadableRepository extends base_1.AbstractRepository {
36
36
  */
37
37
  getQueryInterface(opts) {
38
38
  const connector = this.resolveConnector(opts?.options?.transaction);
39
+ // Validate connector.query exists
40
+ if (!connector.query) {
41
+ throw (0, ignis_helpers_1.getError)({
42
+ message: `[${this.constructor.name}] Connector query interface not available | Ensure datasource is properly configured with schema`,
43
+ });
44
+ }
39
45
  const queryInterface = connector.query[this.entity.name];
40
46
  if (!queryInterface) {
41
- const availableKeys = Object.keys(connector.query || {});
47
+ const availableKeys = Object.keys(connector.query);
42
48
  throw (0, ignis_helpers_1.getError)({
43
49
  message: `[${this.constructor.name}] Schema key mismatch | Entity name '${this.entity.name}' not found in connector.query | Available keys: [${availableKeys.join(', ')}] | Ensure the model's TABLE_NAME matches the schema registration key`,
44
50
  });
@@ -53,7 +59,10 @@ class ReadableRepository extends base_1.AbstractRepository {
53
59
  */
54
60
  canUseCoreAPI(filter) {
55
61
  const hasInclude = filter.include && filter.include.length > 0;
56
- const hasFields = filter.fields && Object.keys(filter.fields).length > 0;
62
+ const hasFields = filter.fields &&
63
+ (Array.isArray(filter.fields)
64
+ ? filter.fields.length > 0
65
+ : Object.keys(filter.fields).length > 0);
57
66
  return !hasInclude && !hasFields;
58
67
  }
59
68
  /**
@@ -86,7 +95,11 @@ class ReadableRepository extends base_1.AbstractRepository {
86
95
  // Type assertion to PgTable is safe: EntitySchema extends TTableSchemaWithId which extends PgTable
87
96
  const table = schema;
88
97
  const connector = this.resolveConnector(options?.transaction);
89
- let query = connector.select().from(table).$dynamic();
98
+ // Select only visible columns (excludes hidden properties at SQL level)
99
+ const visibleColumns = this.getVisibleColumns();
100
+ let query = visibleColumns
101
+ ? connector.select(visibleColumns).from(table).$dynamic()
102
+ : connector.select().from(table).$dynamic();
90
103
  if (where) {
91
104
  query = query.where(where);
92
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"readable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":";;;AAEA,0DAAqE;AAErE,sCAOmB;AACnB,iCAA4C;AAE5C;;GAEG;AACH,MAAa,kBAKX,SAAQ,yBAAyE;IACjF,YAAY,EAAgB,EAAE,IAAyD;QACrF,KAAK,CAAC,EAAE,EAAE;YACR,WAAW,EAAE,IAAI,EAAE,WAAW;YAC9B,cAAc,EAAE,kCAAyB,CAAC,SAAS;SACpD,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IACrE,KAAK,CAAC,KAAK,CAAC,IAGpB;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YACvC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,IAGzB;QACC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,8EAA8E;IAC9E;;;OAGG;IACO,iBAAiB,CAAC,IAAiC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAEpE,kCAAkC;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,kGAAkG;aACrI,CAAC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,wCAAwC,IAAI,CAAC,MAAM,CAAC,IAAI,qDAAqD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,uEAAuE;aAC/O,CAAC,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACO,aAAa,CAAC,MAA2B;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/D,MAAM,SAAS,GACb,MAAM,CAAC,MAAM;YACb,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC3B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAC1B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC;IACnC,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,eAAe,CAAiB,IAI/C;QACC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAElC,qBAAqB;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;YACxB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;gBACzB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBAC3B,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEd,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK;YAC1B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBAC3B,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEd,6BAA6B;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC;QAE5C,6BAA6B;QAC7B,mGAAmG;QACnG,MAAM,KAAK,GAAG,MAAiB,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE9D,wEAAwE;QACxE,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAI,KAAK,GAAG,cAAc;YACxB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;YACzD,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE9C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,KAA0B,CAAC;IACpC,CAAC;IAEQ,KAAK,CAAC,IAAI,CAAiB,IAGnC;QACC,mEAAmE;QACnE,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,eAAe,CAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,mEAAmE;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC5D,OAAO,OAAmB,CAAC;IAC7B,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAiB,IAGtC;QACC,mEAAmE;QACnE,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAI;gBAC5C,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC5B,CAAC;QAED,mEAAmE;QACnE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5D,OAAO,CAAC,MAAM,IAAI,IAAI,CAAiB,CAAC;IAC1C,CAAC;IAEQ,QAAQ,CAAiB,IAIjC;QACC,OAAO,IAAI,CAAC,OAAO,CAAI;YACrB,MAAM,EAAE;gBACN,GAAG,IAAI,CAAC,MAAM;gBACd,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;aACvB;YACD,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAaQ,MAAM,CAAC,KAGf;QACC,MAAM,IAAA,wBAAQ,EAAC;YACb,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,kDAAkD,IAAI,CAAC,cAAc,EAAE;SACrG,CAAC,CAAC;IACL,CAAC;IAYQ,SAAS,CAAC,KAGlB;QACC,MAAM,IAAA,wBAAQ,EAAC;YACb,OAAO,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,kDAAkD,IAAI,CAAC,cAAc,EAAE;SACxG,CAAC,CAAC;IACL,CAAC;IAeQ,UAAU,CAAC,KAInB;QACC,MAAM,IAAA,wBAAQ,EAAC;YACb,OAAO,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,kDAAkD,IAAI,CAAC,cAAc,EAAE;SACzG,CAAC,CAAC;IACL,CAAC;IAsBQ,SAAS,CAAC,KAQlB;QACC,MAAM,IAAA,wBAAQ,EAAC;YACb,OAAO,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,kDAAkD,IAAI,CAAC,cAAc,EAAE;SACxG,CAAC,CAAC;IACL,CAAC;IAaQ,UAAU,CAAC,KAGnB;QACC,MAAM,IAAA,wBAAQ,EAAC;YACb,OAAO,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,kDAAkD,IAAI,CAAC,cAAc,EAAE;SACzG,CAAC,CAAC;IACL,CAAC;IAkBQ,SAAS,CAAC,KAOlB;QACC,MAAM,IAAA,wBAAQ,EAAC;YACb,OAAO,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,kDAAkD,IAAI,CAAC,cAAc,EAAE;SACxG,CAAC,CAAC;IACL,CAAC;CACF;AAlVD,gDAkVC"}
@@ -1,8 +1,9 @@
1
1
  import { TTableObject, TTableSchemaWithId } from '../../../base/models';
2
2
  import { BaseHelper } from '@venizia/ignis-helpers';
3
3
  import { type SQL } from 'drizzle-orm';
4
- import { TDrizzleQueryOptions, TFilter, TInclusion, TRelationConfig, TWhere } from '../common';
4
+ import { TDrizzleQueryOptions, TFields, TFilter, TInclusion, TRelationConfig, TWhere } from '../common';
5
5
  export type TRelationResolver = (schema: TTableSchemaWithId) => Record<string, TRelationConfig>;
6
+ export type THiddenPropertiesResolver = (relationName: string) => Set<string>;
6
7
  export declare class DrizzleFilterBuilder extends BaseHelper {
7
8
  private static columnCache;
8
9
  constructor();
@@ -18,13 +19,43 @@ export declare class DrizzleFilterBuilder extends BaseHelper {
18
19
  };
19
20
  filter: TFilter<TTableObject<Schema>>;
20
21
  relationResolver: TRelationResolver;
22
+ hiddenPropertiesResolver?: THiddenPropertiesResolver;
21
23
  }): TDrizzleQueryOptions;
22
- toColumns(fields: Record<string, boolean | undefined>): Record<string, boolean>;
24
+ toColumns(opts: {
25
+ fields: TFields;
26
+ }): Record<string, boolean>;
27
+ /**
28
+ * Check if value is a primitive (not an operator object).
29
+ * Primitives: null, arrays, dates, strings, numbers, booleans
30
+ */
31
+ private isPrimitiveValue;
32
+ /**
33
+ * Build SQL condition for primitive values (null, array, or scalar).
34
+ */
35
+ private buildPrimitiveCondition;
36
+ /**
37
+ * Build SQL conditions for operator syntax like { gt: 10, lte: 20 }.
38
+ */
39
+ private buildOperatorConditions;
40
+ /**
41
+ * Build SQL condition for logical groups (AND / OR).
42
+ */
43
+ private buildLogicalGroupCondition;
23
44
  toWhere<Schema extends TTableSchemaWithId>(opts: {
24
45
  tableName: string;
25
46
  schema: Schema;
26
47
  where: TWhere<TTableObject<Schema>>;
27
48
  }): SQL | undefined;
49
+ /**
50
+ * Parse a JSON path string into column name and path components.
51
+ * Example: "metadata.nested[0].field" → { columnName: "metadata", path: ["nested", "0", "field"] }
52
+ */
53
+ private parseJsonPath;
54
+ /**
55
+ * Build SQL for ordering by a JSON/JSONB field path.
56
+ * Uses PostgreSQL #>> operator for text extraction.
57
+ */
58
+ private buildJsonOrderBy;
28
59
  toOrderBy<Schema extends TTableSchemaWithId>(opts: {
29
60
  tableName: string;
30
61
  schema: Schema;
@@ -36,6 +67,7 @@ export declare class DrizzleFilterBuilder extends BaseHelper {
36
67
  [relationName: string]: TRelationConfig;
37
68
  };
38
69
  relationResolver: TRelationResolver;
39
- }): {};
70
+ hiddenPropertiesResolver?: THiddenPropertiesResolver;
71
+ }): Record<string, true | TDrizzleQueryOptions>;
40
72
  }
41
73
  //# sourceMappingURL=filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/operators/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,UAAU,EAAY,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAUL,KAAK,GAAG,EACT,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAG/F,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,kBAAkB,KAAK,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEhG,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,OAAO,CAAC,MAAM,CAAC,WAAW,CAGtB;;IAMJ;;OAEG;IACH,OAAO,CAAC,UAAU;IASlB,KAAK,CAAC,MAAM,SAAS,kBAAkB,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE;YAAE,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,CAAA;SAAE,CAAC;QACvD,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,gBAAgB,EAAE,iBAAiB,CAAC;KACrC,GAAG,oBAAoB;IAmBxB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAc/E,OAAO,CAAC,MAAM,SAAS,kBAAkB,EAAE,IAAI,EAAE;QAC/C,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;KACrC,GAAG,GAAG,GAAG,SAAS;IA4FnB,SAAS,CAAC,MAAM,SAAS,kBAAkB,EAAE,IAAI,EAAE;QACjD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,GAAG,GAAG,EAAE;IAwBT,SAAS,CAAC,IAAI,EAAE;QACd,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,SAAS,EAAE;YAAE,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,CAAA;SAAE,CAAC;QACvD,gBAAgB,EAAE,iBAAiB,CAAC;KACrC;CAgDF"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/operators/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,UAAU,EAAyB,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAUL,KAAK,GAAG,EACT,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,OAAO,EACP,UAAU,EACV,eAAe,EACf,MAAM,EACP,MAAM,WAAW,CAAC;AAGnB,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,kBAAkB,KAAK,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAChG,MAAM,MAAM,yBAAyB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;AAE9E,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,OAAO,CAAC,MAAM,CAAC,WAAW,CAGtB;;IAMJ;;OAEG;IACH,OAAO,CAAC,UAAU;IASlB,KAAK,CAAC,MAAM,SAAS,kBAAkB,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE;YAAE,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,CAAA;SAAE,CAAC;QACvD,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,gBAAgB,EAAE,iBAAiB,CAAC;QACpC,wBAAwB,CAAC,EAAE,yBAAyB,CAAC;KACtD,GAAG,oBAAoB;IAsBxB,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAc7D;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAkB/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAkBlC,OAAO,CAAC,MAAM,SAAS,kBAAkB,EAAE,IAAI,EAAE;QAC/C,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;KACrC,GAAG,GAAG,GAAG,SAAS;IAuDnB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA0CxB,SAAS,CAAC,MAAM,SAAS,kBAAkB,EAAE,IAAI,EAAE;QACjD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,GAAG,GAAG,EAAE;IAwCT,SAAS,CAAC,IAAI,EAAE;QACd,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,SAAS,EAAE;YAAE,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,CAAA;SAAE,CAAC;QACvD,gBAAgB,EAAE,iBAAiB,CAAC;QACpC,wBAAwB,CAAC,EAAE,yBAAyB,CAAC;KACtD,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,oBAAoB,CAAC;CA+DhD"}
@@ -28,106 +28,174 @@ class DrizzleFilterBuilder extends ignis_helpers_1.BaseHelper {
28
28
  if (!opts.filter) {
29
29
  return {};
30
30
  }
31
- const { tableName, schema, relations, filter, relationResolver } = opts;
31
+ const { tableName, schema, relations, filter, relationResolver, hiddenPropertiesResolver } = opts;
32
32
  const { limit, skip, order, fields, where, include } = filter;
33
33
  const rs = {
34
34
  ...(limit !== undefined && { limit }),
35
35
  ...(skip !== undefined && { offset: skip }),
36
- ...(fields && { columns: this.toColumns(fields) }),
36
+ ...(fields && { columns: this.toColumns({ fields }) }),
37
37
  ...(order && { orderBy: this.toOrderBy({ tableName, schema, order }) }),
38
38
  ...(where && { where: this.toWhere({ tableName, schema, where }) }),
39
- ...(include && { with: this.toInclude({ include, relations, relationResolver }) }),
39
+ ...(include && {
40
+ with: this.toInclude({ include, relations, relationResolver, hiddenPropertiesResolver }),
41
+ }),
40
42
  };
41
43
  return rs;
42
44
  }
43
- toColumns(fields) {
44
- // Filter out false values - only include true fields
45
- const entries = Object.entries(fields);
46
- const rs = entries.reduce((acc, [key, value]) => {
47
- if (value === true) {
48
- acc[key] = true;
45
+ toColumns(opts) {
46
+ const { fields } = opts;
47
+ // Handle array format: ['id', 'name'] → { id: true, name: true }
48
+ if (Array.isArray(fields)) {
49
+ return Object.fromEntries(fields.map(field => [field, true]));
50
+ }
51
+ // Handle object format: { id: true, name: false } → { id: true }
52
+ return Object.fromEntries(Object.entries(fields).filter(([, value]) => value === true));
53
+ }
54
+ /**
55
+ * Check if value is a primitive (not an operator object).
56
+ * Primitives: null, arrays, dates, strings, numbers, booleans
57
+ */
58
+ isPrimitiveValue(opts) {
59
+ const { value } = opts;
60
+ return (value === null || Array.isArray(value) || value instanceof Date || typeof value !== 'object');
61
+ }
62
+ /**
63
+ * Build SQL condition for primitive values (null, array, or scalar).
64
+ */
65
+ buildPrimitiveCondition(opts) {
66
+ const { column, value } = opts;
67
+ // Handle null → IS NULL
68
+ if (value === null) {
69
+ return (0, drizzle_orm_1.isNull)(column);
70
+ }
71
+ // Handle array → IN (...)
72
+ if (Array.isArray(value)) {
73
+ // Empty array → always false (matches nothing)
74
+ return value.length === 0 ? (0, drizzle_orm_1.sql) `false` : (0, drizzle_orm_1.inArray)(column, value);
75
+ }
76
+ // Handle scalar (string, number, boolean, Date) → equals
77
+ return (0, drizzle_orm_1.eq)(column, value);
78
+ }
79
+ /**
80
+ * Build SQL conditions for operator syntax like { gt: 10, lte: 20 }.
81
+ */
82
+ buildOperatorConditions(opts) {
83
+ const { column, value } = opts;
84
+ const conditions = [];
85
+ for (const [op, val] of Object.entries(value)) {
86
+ const opFn = query_1.QueryOperators.FNS[op];
87
+ if (!opFn) {
88
+ throw (0, ignis_helpers_1.getError)({
89
+ message: `[DrizzleFilterBuilder][buildOperatorConditions] Invalid query operator | operator: '${op}'`,
90
+ });
49
91
  }
50
- return acc;
51
- }, {});
52
- return rs;
92
+ const result = opFn({ column, value: val });
93
+ if (result) {
94
+ conditions.push(result);
95
+ }
96
+ }
97
+ return conditions;
98
+ }
99
+ /**
100
+ * Build SQL condition for logical groups (AND / OR).
101
+ */
102
+ buildLogicalGroupCondition(opts) {
103
+ const { key, value, tableName, schema } = opts;
104
+ const clauses = (Array.isArray(value) ? value : [value])
105
+ .map(inner => this.toWhere({ tableName, schema, where: inner }))
106
+ .filter((c) => !!c);
107
+ if (clauses.length === 0) {
108
+ return undefined;
109
+ }
110
+ return key === query_1.QueryOperators.AND ? (0, drizzle_orm_1.and)(...clauses) : (0, drizzle_orm_1.or)(...clauses);
53
111
  }
54
112
  toWhere(opts) {
55
113
  const { tableName, schema, where } = opts;
56
- const conditions = [];
57
114
  const columns = this.getColumns(schema);
58
115
  if (!columns || (0, isEmpty_1.default)(columns)) {
59
116
  throw (0, ignis_helpers_1.getError)({
60
- message: `[toWhere] Table: ${tableName} | Failed to get table columns | columns: ${columns}`,
117
+ message: `[DrizzleFilterBuilder][toWhere] Table: ${tableName} | Failed to get table columns`,
61
118
  });
62
119
  }
120
+ const conditions = [];
63
121
  for (const key in where) {
64
122
  const value = where[key];
123
+ // Skip undefined values
65
124
  if (value === undefined) {
66
125
  continue;
67
126
  }
68
- // 1. Handle Logical Groups (AND / OR)
127
+ // Handle logical groups (AND / OR)
69
128
  if (query_1.QueryOperators.LOGICAL_GROUP_OPERATORS.has(key)) {
70
- const clauses = (Array.isArray(value) ? value : [value])
71
- .map(innerWhere => this.toWhere({ tableName, schema, where: innerWhere }))
72
- .filter((c) => !!c); // Remove undefined
73
- if (clauses.length > 0) {
74
- conditions.push(key === query_1.QueryOperators.AND ? (0, drizzle_orm_1.and)(...clauses) : (0, drizzle_orm_1.or)(...clauses));
129
+ const condition = this.buildLogicalGroupCondition({ key, value, tableName, schema });
130
+ if (condition) {
131
+ conditions.push(condition);
75
132
  }
76
133
  continue;
77
134
  }
78
- const column = columns?.[key];
135
+ // Validate column exists
136
+ const column = columns[key];
79
137
  if (!column) {
80
138
  throw (0, ignis_helpers_1.getError)({
81
- message: `[toWhere] Table: ${tableName} | Column NOT FOUND | key: '${key}'`,
139
+ message: `[DrizzleFilterBuilder][toWhere] Table: ${tableName} | Column NOT FOUND | key: '${key}'`,
82
140
  });
83
141
  }
84
- // 3. Handle Short Syntax (Implicit EQ, IN, or NULL)
85
- // Example: { status: 'active' } or { id: [1, 2] }
86
- if (typeof value !== 'object' ||
87
- value === null ||
88
- Array.isArray(value) ||
89
- value instanceof Date) {
90
- if (value === null) {
91
- conditions.push((0, drizzle_orm_1.isNull)(column));
92
- }
93
- else if (Array.isArray(value)) {
94
- if (value.length === 0) {
95
- // Empty array IN () = FALSE (matches nothing)
96
- // Using sql`false` to ensure no rows are returned
97
- conditions.push((0, drizzle_orm_1.sql) `false`);
98
- }
99
- else {
100
- conditions.push((0, drizzle_orm_1.inArray)(column, value));
101
- }
102
- }
103
- else {
104
- conditions.push((0, drizzle_orm_1.eq)(column, value));
105
- }
142
+ // Handle primitive values (null, array, scalar)
143
+ if (this.isPrimitiveValue({ value })) {
144
+ conditions.push(this.buildPrimitiveCondition({ column, value }));
106
145
  continue;
107
146
  }
108
- // 4. Handle Operator Syntax
109
- // Example: { age: { gt: 10, lte: 20 } }
110
- for (const op in value) {
111
- const opVal = value[op];
112
- if (!query_1.QueryOperators.FNS[op]) {
113
- throw (0, ignis_helpers_1.getError)({
114
- message: `[toWhere] Invalid query operator to handle | operator: '${op}'`,
115
- });
116
- }
117
- const result = query_1.QueryOperators.FNS[op]({ column, value: opVal });
118
- if (!result) {
119
- continue;
120
- }
121
- conditions.push(result);
122
- }
147
+ // Handle operator syntax { gt: 10, lte: 20 }
148
+ conditions.push(...this.buildOperatorConditions({ column, value }));
123
149
  }
124
- if (!conditions.length) {
150
+ // Return combined conditions
151
+ if (conditions.length === 0) {
125
152
  return undefined;
126
153
  }
127
- if (conditions.length === 1) {
128
- return conditions[0];
154
+ return conditions.length === 1 ? conditions[0] : (0, drizzle_orm_1.and)(...conditions);
155
+ }
156
+ /**
157
+ * Parse a JSON path string into column name and path components.
158
+ * Example: "metadata.nested[0].field" → { columnName: "metadata", path: ["nested", "0", "field"] }
159
+ */
160
+ parseJsonPath(key) {
161
+ const parts = key.split(/[.[\]]+/).filter(Boolean);
162
+ const [columnName = key, ...path] = parts;
163
+ return { columnName, path };
164
+ }
165
+ /**
166
+ * Build SQL for ordering by a JSON/JSONB field path.
167
+ * Uses PostgreSQL #>> operator for text extraction.
168
+ */
169
+ buildJsonOrderBy(opts) {
170
+ const { key, direction, columns, tableName } = opts;
171
+ // Parse: "metadata.nested[0].field" → { columnName: "metadata", path: ["nested", "0", "field"] }
172
+ const parsed = this.parseJsonPath(key);
173
+ const column = columns[parsed.columnName];
174
+ if (!column) {
175
+ throw (0, ignis_helpers_1.getError)({
176
+ message: `[DrizzleFilterBuilder][buildJsonOrderBy] Table: ${tableName} | Column NOT FOUND | key: '${parsed.columnName}'`,
177
+ });
178
+ }
179
+ // Validate column is JSON/JSONB type
180
+ const dataType = column.dataType.toLowerCase();
181
+ if (dataType !== 'json' && dataType !== 'jsonb') {
182
+ throw (0, ignis_helpers_1.getError)({
183
+ message: `[DrizzleFilterBuilder][buildJsonOrderBy] Table: ${tableName} | Column '${parsed.columnName}' is not JSON/JSONB type | dataType: '${column.dataType}'`,
184
+ });
129
185
  }
130
- return (0, drizzle_orm_1.and)(...conditions);
186
+ // Validate path components to prevent SQL injection
187
+ // Allow: identifiers (a-z, A-Z, _, 0-9 but not starting with number) or array indices (numbers only)
188
+ const validPathPattern = /^[a-zA-Z_][a-zA-Z0-9_]*$|^\d+$/;
189
+ for (const part of parsed.path) {
190
+ if (!validPathPattern.test(part)) {
191
+ throw (0, ignis_helpers_1.getError)({
192
+ message: `[DrizzleFilterBuilder][buildJsonOrderBy] Table: ${tableName} | Invalid JSON path component: '${part}'`,
193
+ });
194
+ }
195
+ }
196
+ // Use #> operator (returns JSONB) to preserve original type
197
+ // JSONB comparison: null < boolean < number < string < array < object
198
+ return drizzle_orm_1.sql.raw(`"${column.name}" #> '{${parsed.path.join(',')}}' ${direction.toUpperCase()}`);
131
199
  }
132
200
  toOrderBy(opts) {
133
201
  const { tableName, schema, order } = opts;
@@ -135,61 +203,82 @@ class DrizzleFilterBuilder extends ignis_helpers_1.BaseHelper {
135
203
  return [];
136
204
  }
137
205
  const columns = this.getColumns(schema);
138
- return order.reduce((rs, orderStr) => {
139
- const parts = orderStr.trim().split(/\s+/);
140
- const [key, direction = query_1.Sorts.ASC] = parts;
206
+ return order.map(orderStr => {
207
+ const [key, direction = query_1.Sorts.ASC] = orderStr.trim().split(/\s+/);
208
+ // Validate direction
209
+ if (!query_1.Sorts.isValid(direction)) {
210
+ throw (0, ignis_helpers_1.getError)({
211
+ message: `[DrizzleFilterBuilder][toOrderBy] Table: ${tableName} | Invalid direction: '${direction}' | Expected: 'ASC' or 'DESC'`,
212
+ });
213
+ }
214
+ // Check if it's a JSON path (contains '.' or '[')
215
+ if (key.includes('.') || key.includes('[')) {
216
+ return this.buildJsonOrderBy({
217
+ key,
218
+ direction: direction,
219
+ columns,
220
+ tableName,
221
+ });
222
+ }
223
+ // Regular column ordering
141
224
  const column = columns[key];
142
225
  if (!column) {
143
226
  throw (0, ignis_helpers_1.getError)({
144
- message: `[toOrderBy] Table: ${tableName} | Column NOT FOUND | key: '${key}'`,
227
+ message: `[DrizzleFilterBuilder][toOrderBy] Table: ${tableName} | Column NOT FOUND | key: '${key}'`,
145
228
  });
146
229
  }
147
- rs.push(direction.toLowerCase() === query_1.Sorts.DESC ? (0, drizzle_orm_1.desc)(column) : (0, drizzle_orm_1.asc)(column));
148
- return rs;
149
- }, []);
230
+ return direction.toLowerCase() === query_1.Sorts.DESC ? (0, drizzle_orm_1.desc)(column) : (0, drizzle_orm_1.asc)(column);
231
+ });
150
232
  }
151
233
  toInclude(opts) {
152
- const { include, relations, relationResolver } = opts;
153
- const rs = include.reduce((acc, inc) => {
154
- let relationName;
155
- let scope = undefined;
156
- // Parse include syntax
157
- if (typeof inc === 'string') {
158
- relationName = inc;
159
- }
160
- else if (inc.relation) {
161
- relationName = inc.relation;
162
- scope = inc.scope;
163
- }
164
- else {
234
+ const { include, relations, relationResolver, hiddenPropertiesResolver } = opts;
235
+ return Object.fromEntries(include.map(inc => {
236
+ const relationName = typeof inc === 'string' ? inc : inc.relation;
237
+ const scope = typeof inc === 'string' ? undefined : inc.scope;
238
+ if (!relationName) {
165
239
  throw (0, ignis_helpers_1.getError)({
166
- message: `[toInclude] Invalid include format | include: ${JSON.stringify(inc)}`,
240
+ message: `[DrizzleFilterBuilder][toInclude] Invalid include format | include: ${JSON.stringify(inc)}`,
167
241
  });
168
242
  }
169
- // Validate relation exists
170
243
  const relationConfig = relations[relationName];
171
244
  if (!relationConfig) {
172
245
  throw (0, ignis_helpers_1.getError)({
173
- message: `[toInclude] Relation NOT FOUND | relation: '${relationName}'`,
246
+ message: `[DrizzleFilterBuilder][toInclude] Relation NOT FOUND | relation: '${relationName}'`,
174
247
  });
175
248
  }
176
- // No scope - just include the relation
177
- if (!scope) {
178
- acc[relationName] = true;
179
- return acc;
249
+ // Resolve hidden properties for this relation
250
+ const hiddenProps = hiddenPropertiesResolver?.(relationName) ?? new Set();
251
+ // If no scope and no hidden properties, return simple true (select all)
252
+ if (!scope && hiddenProps.size === 0) {
253
+ return [relationName, true];
180
254
  }
181
- // Build nested query with proper schema
255
+ // Build nested query
182
256
  const nestedQuery = this.build({
183
257
  tableName: relationName,
184
258
  schema: relationConfig.schema,
185
- filter: scope,
259
+ filter: scope ?? {},
186
260
  relations: relationResolver?.(relationConfig.schema) ?? {},
187
261
  relationResolver,
262
+ hiddenPropertiesResolver,
188
263
  });
189
- acc[relationName] = nestedQuery;
190
- return acc;
191
- }, {});
192
- return rs;
264
+ // Apply hidden properties exclusion to relation columns
265
+ if (hiddenProps.size > 0) {
266
+ const columns = (0, drizzle_orm_1.getTableColumns)(relationConfig.schema);
267
+ // If columns already specified, filter out hidden
268
+ // If no columns specified, create columns object excluding hidden
269
+ const baseColumns = nestedQuery.columns
270
+ ? nestedQuery.columns
271
+ : Object.fromEntries(Object.keys(columns).map(k => [k, true]));
272
+ const filteredColumns = {};
273
+ for (const [key, isEnabled] of Object.entries(baseColumns)) {
274
+ if (!hiddenProps.has(key)) {
275
+ filteredColumns[key] = isEnabled;
276
+ }
277
+ }
278
+ nestedQuery.columns = filteredColumns;
279
+ }
280
+ return [relationName, nestedQuery];
281
+ }));
193
282
  }
194
283
  }
195
284
  exports.DrizzleFilterBuilder = DrizzleFilterBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../src/base/repositories/operators/filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../src/base/repositories/operators/filter.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { IQueryHandlerOptions } from '../common';
3
3
  export declare class Sorts {
4
4
  static readonly DESC = "desc";
5
5
  static readonly ASC = "asc";
6
+ static readonly SCHEMA_SET: Set<string>;
7
+ static isValid(value: string): boolean;
6
8
  }
7
9
  export declare class QueryOperators {
8
10
  static readonly EQ = "eq";
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/operators/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAmBrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAGjD,qBAAa,KAAK;IAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;CAC7B;AAGD,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC1B,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC1B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAE5B,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC1B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAE5B,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC1B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAE5B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,WAAW;IACnC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,SAAS,YAAY;IAErC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC1B,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAS;IAC/B,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAa;IAEpC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC1B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAE5B,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,MAAM,CAAC,QAAQ,CAAC,UAAU,eAAe;IAEzC,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAa;IACpC,MAAM,CAAC,QAAQ,CAAC,WAAW,gBAAgB;IAE3C,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAE1B,MAAM,CAAC,QAAQ,CAAC,GAAG;mBAEC,oBAAoB;mBAEpB,oBAAoB;oBAEnB,oBAAoB;mBAGrB,oBAAoB;oBACnB,oBAAoB;mBAErB,oBAAoB;oBACnB,oBAAoB;mBAGrB,oBAAoB;oBAEhB,oBAAoB;mBAIxB,oBAAoB;oBAOnB,oBAAoB;oBAOpB,oBAAoB;wBAOhB,oBAAoB;qBAUvB,oBAAoB;sBAChB,oBAAoB;sBACvB,oBAAoB;uBAChB,oBAAoB;uBAGvB,oBAAoB;wBACnB,oBAAoB;MAC3C;IAEF,MAAM,CAAC,QAAQ,CAAC,UAAU,cA0BvB;IAEH,MAAM,CAAC,QAAQ,CAAC,uBAAuB,cAAgC;IAEvE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGzC;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/operators/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAmBrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAGjD,qBAAa,KAAK;IAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAE5B,MAAM,CAAC,QAAQ,CAAC,UAAU,cAAoC;IAE9D,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAGD,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC1B,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC1B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAE5B,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC1B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAE5B,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC1B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAE5B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,WAAW;IACnC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,SAAS,YAAY;IAErC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC1B,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAS;IAC/B,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAa;IAEpC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC1B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAE5B,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,MAAM,CAAC,QAAQ,CAAC,UAAU,eAAe;IAEzC,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAa;IACpC,MAAM,CAAC,QAAQ,CAAC,WAAW,gBAAgB;IAE3C,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAE1B,MAAM,CAAC,QAAQ,CAAC,GAAG;mBAEC,oBAAoB;mBAEpB,oBAAoB;oBAEnB,oBAAoB;mBAGrB,oBAAoB;oBACnB,oBAAoB;mBAErB,oBAAoB;oBACnB,oBAAoB;mBAGrB,oBAAoB;oBAEhB,oBAAoB;mBAIxB,oBAAoB;oBAOnB,oBAAoB;oBAOpB,oBAAoB;wBAOhB,oBAAoB;qBAUvB,oBAAoB;sBAChB,oBAAoB;sBACvB,oBAAoB;uBAChB,oBAAoB;uBAGvB,oBAAoB;wBACnB,oBAAoB;MAC3C;IAEF,MAAM,CAAC,QAAQ,CAAC,UAAU,cA0BvB;IAEH,MAAM,CAAC,QAAQ,CAAC,uBAAuB,cAAgC;IAEvE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGzC;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -6,6 +6,10 @@ const drizzle_orm_1 = require("drizzle-orm");
6
6
  class Sorts {
7
7
  static { this.DESC = 'desc'; }
8
8
  static { this.ASC = 'asc'; }
9
+ static { this.SCHEMA_SET = new Set([Sorts.ASC, Sorts.DESC]); }
10
+ static isValid(value) {
11
+ return Sorts.SCHEMA_SET.has(value.toLowerCase());
12
+ }
9
13
  }
10
14
  exports.Sorts = Sorts;
11
15
  // --------------------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/base/repositories/operators/query.ts"],"names":[],"mappings":";;;AACA,6CAiBqB;AAGrB,yFAAyF;AACzF,MAAa,KAAK;aACA,SAAI,GAAG,MAAM,CAAC;aACd,QAAG,GAAG,KAAK,CAAC;;AAF9B,sBAGC;AAED,yFAAyF;AACzF,MAAa,cAAc;aACT,OAAE,GAAG,IAAI,CAAC;aACV,OAAE,GAAG,IAAI,CAAC;aACV,QAAG,GAAG,KAAK,CAAC;aAEZ,OAAE,GAAG,IAAI,CAAC;aACV,QAAG,GAAG,KAAK,CAAC;aAEZ,OAAE,GAAG,IAAI,CAAC;aACV,QAAG,GAAG,KAAK,CAAC;aAEZ,SAAI,GAAG,MAAM,CAAC;aACd,aAAQ,GAAG,OAAO,CAAC;aACnB,UAAK,GAAG,OAAO,CAAC;aAChB,cAAS,GAAG,QAAQ,CAAC;aAErB,OAAE,GAAG,IAAI,CAAC;aACV,WAAM,GAAG,KAAK,CAAC;aACf,WAAM,GAAG,QAAQ,CAAC;aAClB,YAAO,GAAG,SAAS,CAAC,GAAC,yBAAyB;aAE9C,OAAE,GAAG,IAAI,CAAC;aACV,QAAG,GAAG,KAAK,CAAC;aACZ,QAAG,GAAG,KAAK,CAAC;aAEZ,WAAM,GAAG,QAAQ,CAAC;aAClB,eAAU,GAAG,WAAW,CAAC;aAEzB,YAAO,GAAG,SAAS,CAAC;aACpB,gBAAW,GAAG,YAAY,CAAC;aAE3B,QAAG,GAAG,KAAK,CAAC;aACZ,QAAG,GAAG,KAAK,CAAC;aACZ,OAAE,GAAG,IAAI,CAAC;aAEV,QAAG,GAAG;QACpB,sBAAsB;QACtB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CACxC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,oBAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAE,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;QACzE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CACxC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,uBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAE,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;QAC5E,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CACzC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,uBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAE,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;QAE5E,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAA,gBAAE,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;QACtE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAA,iBAAG,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;QAExE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAA,gBAAE,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;QACtE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAA,iBAAG,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;QAExE,cAAc;QACd,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CACxC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,oBAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAE,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;QACzE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CAC5C,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,uBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAE,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;QAE5E,iBAAiB;QACjB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAA,gBAAE,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YACD,8CAA8C;YAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAG,EAAA,OAAO,CAAC,CAAC,CAAC,IAAA,qBAAO,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjF,CAAC;QACD,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE;YACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAA,gBAAE,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YACD,8CAA8C;YAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAG,EAAA,OAAO,CAAC,CAAC,CAAC,IAAA,qBAAO,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjF,CAAC;QACD,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE;YACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAA,gBAAE,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YACD,2EAA2E;YAC3E,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAG,EAAA,MAAM,CAAC,CAAC,CAAC,IAAA,wBAAU,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACnF,CAAC;QACD,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE;YAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CACb,8DAA8D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC3F,CAAC;YACJ,CAAC;YACD,OAAO,IAAA,qBAAO,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,UAAU;QACV,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAA,kBAAI,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;QAC1E,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAA,qBAAO,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;QACjF,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAA,mBAAK,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,uCAAuC;QACrH,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAA,iBAAG,EAAC,IAAA,mBAAK,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAErF,8CAA8C;QAC9C,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAA,iBAAG,EAAA,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,uBAAuB;QAC3G,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAA,iBAAG,EAAA,GAAG,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,KAAK,EAAE,EAAE,yBAAyB;KAChH,CAAC;aAEc,eAAU,GAAG,IAAI,GAAG,CAAC;QACnC,IAAI,CAAC,EAAE;QACP,IAAI,CAAC,EAAE;QACP,IAAI,CAAC,GAAG;QACR,IAAI,CAAC,EAAE;QACP,IAAI,CAAC,GAAG;QACR,IAAI,CAAC,EAAE;QACP,IAAI,CAAC,GAAG;QACR,IAAI,CAAC,IAAI;QACT,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,KAAK;QACV,IAAI,CAAC,SAAS;QACd,IAAI,CAAC,EAAE;QACP,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,OAAO;QACZ,IAAI,CAAC,EAAE;QACP,IAAI,CAAC,GAAG;QACR,IAAI,CAAC,GAAG;QACR,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,UAAU;QACf,IAAI,CAAC,OAAO;QACZ,IAAI,CAAC,WAAW;QAChB,IAAI,CAAC,GAAG;QACR,IAAI,CAAC,GAAG;QACR,IAAI,CAAC,EAAE;KACR,CAAC,CAAC;aAEa,4BAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvE,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;;AAlIH,wCAmIC"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/base/repositories/operators/query.ts"],"names":[],"mappings":"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"}