@venizia/ignis 0.0.5-7 → 0.0.5-9
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/models/enrichers/id.enricher.d.ts +15 -10
- package/dist/base/models/enrichers/id.enricher.d.ts.map +1 -1
- package/dist/base/models/enrichers/id.enricher.js +3 -3
- package/dist/base/models/enrichers/id.enricher.js.map +1 -1
- package/dist/base/models/enrichers/principal.enricher.d.ts +4 -10
- package/dist/base/models/enrichers/principal.enricher.d.ts.map +1 -1
- package/dist/base/models/enrichers/principal.enricher.js +1 -7
- package/dist/base/models/enrichers/principal.enricher.js.map +1 -1
- 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 +35 -1
- package/dist/base/repositories/core/base.d.ts.map +1 -1
- package/dist/base/repositories/core/base.js +123 -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/common/statuses.d.ts +2 -0
- package/dist/common/statuses.d.ts.map +1 -1
- package/dist/common/statuses.js +10 -0
- package/dist/common/statuses.js.map +1 -1
- package/dist/components/auth/models/entities/permission-mapping.model.d.ts +4 -4
- package/dist/components/auth/models/entities/permission-mapping.model.d.ts.map +1 -1
- package/dist/components/auth/models/entities/permission-mapping.model.js +3 -3
- package/dist/components/auth/models/entities/permission-mapping.model.js.map +1 -1
- package/dist/components/auth/models/entities/permission.model.d.ts +2 -2
- package/dist/components/auth/models/entities/permission.model.d.ts.map +1 -1
- package/dist/components/auth/models/entities/permission.model.js +1 -1
- package/dist/components/auth/models/entities/permission.model.js.map +1 -1
- package/dist/components/auth/models/entities/user-role.model.d.ts +3 -7
- package/dist/components/auth/models/entities/user-role.model.d.ts.map +1 -1
- package/dist/components/auth/models/entities/user-role.model.js +0 -6
- package/dist/components/auth/models/entities/user-role.model.js.map +1 -1
- package/dist/components/auth/models/entities/user.model.d.ts +1 -1
- package/dist/components/auth/models/entities/user.model.js +1 -1
- package/dist/components/auth/models/entities/user.model.js.map +1 -1
- package/dist/components/static-asset/models/base.model.d.ts +4 -4
- package/dist/components/static-asset/models/base.model.js +1 -1
- package/dist/components/static-asset/models/base.model.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
|
@@ -10,6 +10,18 @@ export declare class PersistableRepository<EntitySchema extends TTableSchemaWith
|
|
|
10
10
|
constructor(ds?: IDataSource, opts?: {
|
|
11
11
|
entityClass?: TClass<BaseEntity<EntitySchema>>;
|
|
12
12
|
});
|
|
13
|
+
/**
|
|
14
|
+
* Validate where condition for bulk operations (update/delete).
|
|
15
|
+
* Throws error if empty where without force flag.
|
|
16
|
+
*
|
|
17
|
+
* @param opts - Validation options
|
|
18
|
+
* @returns true if where is empty (for logging purposes)
|
|
19
|
+
*/
|
|
20
|
+
protected validateWhereCondition(opts: {
|
|
21
|
+
where: TWhere<DataObject>;
|
|
22
|
+
force?: boolean;
|
|
23
|
+
operationName: string;
|
|
24
|
+
}): boolean;
|
|
13
25
|
protected _create<R = EntitySchema['$inferSelect']>(opts: {
|
|
14
26
|
data: Array<PersistObject>;
|
|
15
27
|
options: ExtraOptions & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/persistable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAY,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAEL,MAAM,EACN,qBAAqB,EACrB,kBAAkB,EAClB,MAAM,EACP,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,qBAAa,qBAAqB,CAChC,YAAY,SAAS,kBAAkB,GAAG,kBAAkB,EAC5D,UAAU,SAAS,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAC1E,aAAa,SAAS,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAC7E,YAAY,SAAS,kBAAkB,GAAG,kBAAkB,CAC5D,SAAQ,kBAAkB,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC;gBACrE,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"persistable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/persistable.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,25 @@ class PersistableRepository extends readable_1.ReadableRepository {
|
|
|
16
16
|
super(ds, { entityClass: opts?.entityClass });
|
|
17
17
|
this.operationScope = common_1.RepositoryOperationScopes.READ_WRITE;
|
|
18
18
|
}
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
// Validation Helpers
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
/**
|
|
23
|
+
* Validate where condition for bulk operations (update/delete).
|
|
24
|
+
* Throws error if empty where without force flag.
|
|
25
|
+
*
|
|
26
|
+
* @param opts - Validation options
|
|
27
|
+
* @returns true if where is empty (for logging purposes)
|
|
28
|
+
*/
|
|
29
|
+
validateWhereCondition(opts) {
|
|
30
|
+
const isEmptyWhere = !opts.where || (0, isEmpty_1.default)(opts.where);
|
|
31
|
+
if (!opts.force && isEmptyWhere) {
|
|
32
|
+
throw (0, ignis_helpers_1.getError)({
|
|
33
|
+
message: `[${opts.operationName}] Entity: ${this.entity.name} | DENY to perform ${opts.operationName.replace('_', '')} | Empty where condition`,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return isEmptyWhere;
|
|
37
|
+
}
|
|
19
38
|
async _create(opts) {
|
|
20
39
|
const { shouldReturn = true, log, transaction } = opts.options ?? {};
|
|
21
40
|
if (log?.use) {
|
|
@@ -28,8 +47,11 @@ class PersistableRepository extends readable_1.ReadableRepository {
|
|
|
28
47
|
this.logger.debug('[_create] INSERT result | shouldReturn: %s | rs: %j', shouldReturn, rs);
|
|
29
48
|
return { count: rs.rowCount ?? 0, data: null };
|
|
30
49
|
}
|
|
31
|
-
//
|
|
32
|
-
const
|
|
50
|
+
// Return only visible properties (excludes hidden properties at SQL level)
|
|
51
|
+
const visibleProps = this.getVisibleProperties();
|
|
52
|
+
const rs = visibleProps
|
|
53
|
+
? (await query.returning(visibleProps))
|
|
54
|
+
: (await query.returning());
|
|
33
55
|
this.logger.debug('[_create] INSERT result | shouldReturn: %s | rs: %j', shouldReturn, rs);
|
|
34
56
|
return { count: rs.length, data: rs };
|
|
35
57
|
}
|
|
@@ -54,19 +76,18 @@ class PersistableRepository extends readable_1.ReadableRepository {
|
|
|
54
76
|
if (log?.use) {
|
|
55
77
|
this.logger.log(log.level ?? 'info', '[_update] Executing with opts: %j', opts);
|
|
56
78
|
}
|
|
57
|
-
//
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
79
|
+
// Validate where condition (throws if empty without force)
|
|
80
|
+
const isEmptyWhere = this.validateWhereCondition({
|
|
81
|
+
where: opts.where,
|
|
82
|
+
force,
|
|
83
|
+
operationName: '_update',
|
|
84
|
+
});
|
|
64
85
|
const where = this.filterBuilder.toWhere({
|
|
65
86
|
tableName: this.entity.name,
|
|
66
87
|
schema: this.entity.schema,
|
|
67
88
|
where: opts.where,
|
|
68
89
|
});
|
|
69
|
-
if (
|
|
90
|
+
if (isEmptyWhere) {
|
|
70
91
|
this.logger.warn('[_update] Entity: %s | Performing update with empty condition | data: %j', this.entity.name, opts.data);
|
|
71
92
|
}
|
|
72
93
|
const connector = this.resolveConnector(transaction);
|
|
@@ -76,7 +97,11 @@ class PersistableRepository extends readable_1.ReadableRepository {
|
|
|
76
97
|
this.logger.debug('[_update] UPDATE result | shouldReturn: %s | rs: %j', shouldReturn, rs);
|
|
77
98
|
return { count: rs?.rowCount ?? 0, data: null };
|
|
78
99
|
}
|
|
79
|
-
|
|
100
|
+
// Return only visible properties (excludes hidden properties at SQL level)
|
|
101
|
+
const visibleProps = this.getVisibleProperties();
|
|
102
|
+
const rs = visibleProps
|
|
103
|
+
? (await query.returning(visibleProps))
|
|
104
|
+
: (await query.returning());
|
|
80
105
|
this.logger.debug('[_update] UPDATE result | shouldReturn: %s | rs: %j', shouldReturn, rs);
|
|
81
106
|
return { count: rs.length, data: rs };
|
|
82
107
|
}
|
|
@@ -97,19 +122,18 @@ class PersistableRepository extends readable_1.ReadableRepository {
|
|
|
97
122
|
if (log?.use) {
|
|
98
123
|
this.logger.log(log.level ?? 'info', '[_delete] Executing with opts: %j', opts);
|
|
99
124
|
}
|
|
100
|
-
//
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
125
|
+
// Validate where condition (throws if empty without force)
|
|
126
|
+
const isEmptyWhere = this.validateWhereCondition({
|
|
127
|
+
where: opts.where,
|
|
128
|
+
force,
|
|
129
|
+
operationName: '_delete',
|
|
130
|
+
});
|
|
107
131
|
const where = this.filterBuilder.toWhere({
|
|
108
132
|
tableName: this.entity.name,
|
|
109
133
|
schema: this.entity.schema,
|
|
110
134
|
where: opts.where,
|
|
111
135
|
});
|
|
112
|
-
if (
|
|
136
|
+
if (isEmptyWhere) {
|
|
113
137
|
this.logger.warn('[_delete] Entity: %s | Performing delete with empty condition', this.entity.name);
|
|
114
138
|
}
|
|
115
139
|
const connector = this.resolveConnector(transaction);
|
|
@@ -119,7 +143,11 @@ class PersistableRepository extends readable_1.ReadableRepository {
|
|
|
119
143
|
this.logger.debug('[_delete] DELETE result | shouldReturn: %s | rs: %j', shouldReturn, rs);
|
|
120
144
|
return { count: rs?.rowCount ?? 0, data: null };
|
|
121
145
|
}
|
|
122
|
-
|
|
146
|
+
// Return only visible properties (excludes hidden properties at SQL level)
|
|
147
|
+
const visibleProps = this.getVisibleProperties();
|
|
148
|
+
const rs = visibleProps
|
|
149
|
+
? (await query.returning(visibleProps))
|
|
150
|
+
: (await query.returning());
|
|
123
151
|
this.logger.debug('[_delete] DELETE result | shouldReturn: %s | rs: %j', shouldReturn, rs);
|
|
124
152
|
return { count: rs.length, data: rs };
|
|
125
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/persistable.ts"],"names":[],"mappings":";;;;;;AAEA,0DAAqE;AACrE,6DAAqC;AACrC,sCAMmB;AACnB,yCAAgD;AAEhD;;GAEG;AACH,MAAa,qBAKX,SAAQ,6BAAyE;IACjF,YAAY,EAAgB,EAAE,IAAyD;QACrF,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,kCAAyB,CAAC,UAAU,CAAC;IAC7D,CAAC;IAES,KAAK,CAAC,OAAO,CAAmC,IAGzD;QACC,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAErE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,EAAE,mCAAmC,EAAE,IAAI,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YAC3F,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACjD,CAAC;QAED
|
|
1
|
+
{"version":3,"file":"persistable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/persistable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAY,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAEL,MAAM,EACN,OAAO,EACP,qBAAqB,EACrB,kBAAkB,EAClB,MAAM,EACP,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C;;GAEG;AACH,qBAAa,kBAAkB,CAC7B,YAAY,SAAS,kBAAkB,GAAG,kBAAkB,EAC5D,UAAU,SAAS,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAC1E,aAAa,SAAS,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAC7E,YAAY,SAAS,kBAAkB,GAAG,kBAAkB,CAC5D,SAAQ,kBAAkB,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC;gBACrE,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;KAAE;IAQxE,KAAK,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,MAAM,CAAC;IAYJ,UAAU,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,OAAO,CAAC;IAMpB;;;OAGG;IACH,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,YAAY,CAAA;KAAE;;;;;;;
|
|
1
|
+
{"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 properties (excludes hidden properties at SQL level)
|
|
99
|
+
const visibleProps = this.getVisibleProperties();
|
|
100
|
+
let query = visibleProps
|
|
101
|
+
? connector.select(visibleProps).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"}
|