@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.
- package/dist/base/repositories/common/types.d.ts +2 -2
- package/dist/base/repositories/common/types.d.ts.map +1 -1
- package/dist/base/repositories/common/types.js +9 -6
- package/dist/base/repositories/common/types.js.map +1 -1
- package/dist/base/repositories/core/base.d.ts +25 -1
- package/dist/base/repositories/core/base.d.ts.map +1 -1
- package/dist/base/repositories/core/base.js +105 -9
- package/dist/base/repositories/core/base.js.map +1 -1
- package/dist/base/repositories/core/persistable.d.ts +12 -0
- package/dist/base/repositories/core/persistable.d.ts.map +1 -1
- package/dist/base/repositories/core/persistable.js +48 -20
- package/dist/base/repositories/core/persistable.js.map +1 -1
- package/dist/base/repositories/core/readable.d.ts.map +1 -1
- package/dist/base/repositories/core/readable.js +16 -3
- package/dist/base/repositories/core/readable.js.map +1 -1
- package/dist/base/repositories/operators/filter.d.ts +35 -3
- package/dist/base/repositories/operators/filter.d.ts.map +1 -1
- package/dist/base/repositories/operators/filter.js +185 -96
- package/dist/base/repositories/operators/filter.js.map +1 -1
- package/dist/base/repositories/operators/query.d.ts +2 -0
- package/dist/base/repositories/operators/query.d.ts.map +1 -1
- package/dist/base/repositories/operators/query.js +4 -0
- package/dist/base/repositories/operators/query.js.map +1 -1
- package/dist/helpers/inversion/common/types.d.ts +15 -0
- package/dist/helpers/inversion/common/types.d.ts.map +1 -1
- 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 &&
|
|
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
|
-
|
|
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":";;;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;
|
|
1
|
+
{"version":3,"file":"readable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"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"}
|
|
@@ -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(
|
|
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,
|
|
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 && {
|
|
39
|
+
...(include && {
|
|
40
|
+
with: this.toInclude({ include, relations, relationResolver, hiddenPropertiesResolver }),
|
|
41
|
+
}),
|
|
40
42
|
};
|
|
41
43
|
return rs;
|
|
42
44
|
}
|
|
43
|
-
toColumns(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
|
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
|
-
//
|
|
127
|
+
// Handle logical groups (AND / OR)
|
|
69
128
|
if (query_1.QueryOperators.LOGICAL_GROUP_OPERATORS.has(key)) {
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
.
|
|
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
|
-
|
|
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
|
-
//
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
//
|
|
109
|
-
|
|
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
|
-
|
|
150
|
+
// Return combined conditions
|
|
151
|
+
if (conditions.length === 0) {
|
|
125
152
|
return undefined;
|
|
126
153
|
}
|
|
127
|
-
|
|
128
|
-
|
|
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
|
-
|
|
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.
|
|
139
|
-
const
|
|
140
|
-
|
|
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
|
-
|
|
148
|
-
|
|
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
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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
|
-
//
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
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
|
|
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
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
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":";;;;;;AACA,
|
|
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;
|
|
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;;
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/base/repositories/operators/query.ts"],"names":[],"mappings":"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"}
|