@uql/core 3.9.1 → 3.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -2
- package/dist/browser/querier/querier.util.d.ts +1 -1
- package/dist/browser/querier/querier.util.d.ts.map +1 -1
- package/dist/browser/querier/querier.util.js.map +1 -1
- package/dist/browser/uql-browser.min.js +11 -5
- package/dist/browser/uql-browser.min.js.map +1 -1
- package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
- package/dist/dialect/abstractSqlDialect.js +13 -4
- package/dist/dialect/abstractSqlDialect.js.map +1 -1
- package/dist/entity/decorator/definition.d.ts.map +1 -1
- package/dist/entity/decorator/definition.js +8 -6
- package/dist/entity/decorator/definition.js.map +1 -1
- package/dist/entity/decorator/entity.d.ts.map +1 -1
- package/dist/entity/decorator/field.d.ts.map +1 -1
- package/dist/entity/decorator/id.d.ts.map +1 -1
- package/dist/entity/decorator/index-decorator.d.ts.map +1 -1
- package/dist/entity/decorator/index-decorator.js +2 -1
- package/dist/entity/decorator/index-decorator.js.map +1 -1
- package/dist/entity/decorator/relation.d.ts.map +1 -1
- package/dist/express/querierMiddleware.d.ts +2 -2
- package/dist/express/querierMiddleware.d.ts.map +1 -1
- package/dist/express/querierMiddleware.js +8 -5
- package/dist/express/querierMiddleware.js.map +1 -1
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -1
- package/dist/migrate/generator/mongoSchemaGenerator.js +3 -2
- package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -1
- package/dist/migrate/introspection/mysqlIntrospector.d.ts +33 -5
- package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -1
- package/dist/migrate/introspection/mysqlIntrospector.js +9 -8
- package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -1
- package/dist/migrate/introspection/postgresIntrospector.d.ts +36 -6
- package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -1
- package/dist/migrate/introspection/postgresIntrospector.js +5 -7
- package/dist/migrate/introspection/postgresIntrospector.js.map +1 -1
- package/dist/migrate/introspection/sqliteIntrospector.d.ts +36 -6
- package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -1
- package/dist/migrate/introspection/sqliteIntrospector.js +3 -3
- package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -1
- package/dist/mongo/mongoDialect.d.ts +8 -5
- package/dist/mongo/mongoDialect.d.ts.map +1 -1
- package/dist/mongo/mongoDialect.js +94 -46
- package/dist/mongo/mongoDialect.js.map +1 -1
- package/dist/mongo/mongodbQuerier.d.ts.map +1 -1
- package/dist/mongo/mongodbQuerier.js.map +1 -1
- package/dist/querier/abstractQuerier.d.ts +28 -28
- package/dist/querier/abstractQuerier.d.ts.map +1 -1
- package/dist/querier/abstractQuerier.js +5 -4
- package/dist/querier/abstractQuerier.js.map +1 -1
- package/dist/querier/abstractSqlQuerier.d.ts +6 -6
- package/dist/querier/abstractSqlQuerier.d.ts.map +1 -1
- package/dist/querier/abstractSqlQuerier.js +2 -1
- package/dist/querier/abstractSqlQuerier.js.map +1 -1
- package/dist/querier/decorator/injectQuerier.d.ts.map +1 -1
- package/dist/querier/decorator/log.d.ts.map +1 -1
- package/dist/querier/decorator/serialized.d.ts.map +1 -1
- package/dist/querier/decorator/transactional.d.ts.map +1 -1
- package/dist/sqlite/sqliteQuerierPool.d.ts +0 -4
- package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -1
- package/dist/type/entity.d.ts +6 -0
- package/dist/type/entity.d.ts.map +1 -1
- package/dist/type/querier.d.ts +22 -22
- package/dist/type/querier.d.ts.map +1 -1
- package/dist/type/querier.js.map +1 -1
- package/dist/type/universalQuerier.d.ts +14 -14
- package/dist/type/universalQuerier.d.ts.map +1 -1
- package/dist/type/utility.d.ts +0 -4
- package/dist/type/utility.d.ts.map +1 -1
- package/dist/util/dialect.util.js +3 -3
- package/dist/util/dialect.util.js.map +1 -1
- package/dist/util/object.util.d.ts +2 -2
- package/dist/util/object.util.d.ts.map +1 -1
- package/dist/util/object.util.js +1 -1
- package/dist/util/object.util.js.map +1 -1
- package/dist/util/sql.util.d.ts +3 -3
- package/dist/util/sql.util.d.ts.map +1 -1
- package/dist/util/sql.util.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysqlIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/mysqlIntrospector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,6BAA6B;IACxE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;gBAEzB,IAAI,EAAE,WAAW;IAS7B,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAUtC,SAAS,CAAC,gBAAgB,IAAI,MAAM;IASpC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"mysqlIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/mysqlIntrospector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,6BAA6B;IACxE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;gBAEzB,IAAI,EAAE,WAAW;IAS7B,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAUtC,SAAS,CAAC,gBAAgB,IAAI,MAAM;IASpC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO;IAK7E,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAqBrD,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAerD,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAqBzD,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAexD,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;cAI9C,gBAAgB,CAC9B,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EAAE,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC;cAgBV,gBAAgB,CAC9B,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,GACpE,OAAO,CAAC,WAAW,EAAE,CAAC;cAQT,oBAAoB,CAClC,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QACP,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,EAAE,GACF,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAW9B,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS;IAOvF,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;CAwBlE;AAED,KAAK,cAAc,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjD,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,gCAA0B,CAAC"}
|
|
@@ -30,7 +30,8 @@ export class MysqlSchemaIntrospector extends AbstractSqlSchemaIntrospector {
|
|
|
30
30
|
`;
|
|
31
31
|
}
|
|
32
32
|
parseTableExistsResult(results) {
|
|
33
|
-
|
|
33
|
+
// biome-ignore lint/complexity/useLiteralKeys: bracket access required by noPropertyAccessFromIndexSignature
|
|
34
|
+
return this.toNumber(results[0]?.['count']) > 0;
|
|
34
35
|
}
|
|
35
36
|
getColumnsQuery(_tableName) {
|
|
36
37
|
return /*sql*/ `
|
|
@@ -97,7 +98,7 @@ export class MysqlSchemaIntrospector extends AbstractSqlSchemaIntrospector {
|
|
|
97
98
|
`;
|
|
98
99
|
}
|
|
99
100
|
// ============================================================================
|
|
100
|
-
//
|
|
101
|
+
// Internal Types
|
|
101
102
|
// ============================================================================
|
|
102
103
|
mapTableNameRow(row) {
|
|
103
104
|
return row.table_name;
|
|
@@ -144,22 +145,22 @@ export class MysqlSchemaIntrospector extends AbstractSqlSchemaIntrospector {
|
|
|
144
145
|
if (defaultValue === null) {
|
|
145
146
|
return undefined;
|
|
146
147
|
}
|
|
147
|
-
|
|
148
|
+
const normalized = defaultValue.toUpperCase();
|
|
149
|
+
if (normalized === 'NULL') {
|
|
148
150
|
return null;
|
|
149
151
|
}
|
|
150
|
-
|
|
151
|
-
if (defaultValue.toLowerCase() === 'current_timestamp' || defaultValue.toLowerCase() === 'current_timestamp()') {
|
|
152
|
+
if (normalized === 'CURRENT_TIMESTAMP' || normalized === 'CURRENT_TIMESTAMP()') {
|
|
152
153
|
return 'CURRENT_TIMESTAMP';
|
|
153
154
|
}
|
|
154
|
-
if (/^'.*'$/.test(defaultValue)) {
|
|
155
|
-
return defaultValue.slice(1, -1);
|
|
156
|
-
}
|
|
157
155
|
if (/^-?\d+$/.test(defaultValue)) {
|
|
158
156
|
return Number.parseInt(defaultValue, 10);
|
|
159
157
|
}
|
|
160
158
|
if (/^-?\d+\.\d+$/.test(defaultValue)) {
|
|
161
159
|
return Number.parseFloat(defaultValue);
|
|
162
160
|
}
|
|
161
|
+
if (defaultValue?.startsWith("'") && defaultValue?.endsWith("'")) {
|
|
162
|
+
return defaultValue.slice(1, -1);
|
|
163
|
+
}
|
|
163
164
|
return defaultValue;
|
|
164
165
|
}
|
|
165
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysqlIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/mysqlIntrospector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,6BAA6B;IACrD,IAAI,CAAc;IAErC,YAAY,IAAiB;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,+EAA+E;IAC/E,iCAAiC;IACjC,+EAA+E;IAErE,kBAAkB;QAC1B,OAAO,OAAO,CAAC;;;;;;KAMd,CAAC;IACJ,CAAC;IAES,gBAAgB;QACxB,OAAO,OAAO,CAAC;;;;;KAKd,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,OAAkC;QACjE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"mysqlIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/mysqlIntrospector.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,13 +13,43 @@ export declare class PostgresSchemaIntrospector extends AbstractSqlSchemaIntrosp
|
|
|
13
13
|
protected getIndexesQuery(_tableName: string): string;
|
|
14
14
|
protected getForeignKeysQuery(_tableName: string): string;
|
|
15
15
|
protected getPrimaryKeyQuery(_tableName: string): string;
|
|
16
|
-
protected mapTableNameRow(row:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
protected
|
|
20
|
-
protected
|
|
16
|
+
protected mapTableNameRow(row: {
|
|
17
|
+
table_name: string;
|
|
18
|
+
}): string;
|
|
19
|
+
protected mapColumnsResult(_querier: SqlQuerier, _tableName: string, results: PostgresColumnRow[]): Promise<ColumnSchema[]>;
|
|
20
|
+
protected mapIndexesResult(_querier: SqlQuerier, _tableName: string, results: {
|
|
21
|
+
index_name: string;
|
|
22
|
+
columns: string[];
|
|
23
|
+
is_unique: boolean;
|
|
24
|
+
}[]): Promise<IndexSchema[]>;
|
|
25
|
+
protected mapForeignKeysResult(_querier: SqlQuerier, _tableName: string, results: {
|
|
26
|
+
constraint_name: string;
|
|
27
|
+
columns: string[];
|
|
28
|
+
referenced_table: string;
|
|
29
|
+
referenced_columns: string[];
|
|
30
|
+
delete_rule: string;
|
|
31
|
+
update_rule: string;
|
|
32
|
+
}[]): Promise<ForeignKeySchema[]>;
|
|
33
|
+
protected mapPrimaryKeyResult(results: {
|
|
34
|
+
column_name: string;
|
|
35
|
+
}[]): string[] | undefined;
|
|
21
36
|
protected normalizeType(dataType: string, udtName: string): string;
|
|
22
37
|
protected parseDefaultValue(defaultValue: string | null): unknown;
|
|
23
|
-
protected isAutoIncrement(
|
|
38
|
+
protected isAutoIncrement(columnDefault: string | null, isIdentity: string): boolean;
|
|
24
39
|
}
|
|
40
|
+
type PostgresColumnRow = {
|
|
41
|
+
column_name: string;
|
|
42
|
+
data_type: string;
|
|
43
|
+
udt_name: string;
|
|
44
|
+
is_nullable: string;
|
|
45
|
+
column_default: string | null;
|
|
46
|
+
is_primary_key: boolean;
|
|
47
|
+
is_identity: string;
|
|
48
|
+
is_unique: boolean;
|
|
49
|
+
character_maximum_length: number | null;
|
|
50
|
+
numeric_precision: number | null;
|
|
51
|
+
numeric_scale: number | null;
|
|
52
|
+
column_comment: string | null;
|
|
53
|
+
};
|
|
54
|
+
export {};
|
|
25
55
|
//# sourceMappingURL=postgresIntrospector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/postgresIntrospector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,6BAA6B;IAC3E,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;gBAEzB,IAAI,EAAE,WAAW;IAS7B,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAUtC,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAUpC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"postgresIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/postgresIntrospector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,6BAA6B;IAC3E,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;gBAEzB,IAAI,EAAE,WAAW;IAS7B,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAUtC,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAUpC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO;IAK7E,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IA4CrD,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAoBrD,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IA2BzD,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAkBxD,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;cAI9C,gBAAgB,CAC9B,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,EAAE,GAC3B,OAAO,CAAC,YAAY,EAAE,CAAC;cAgBV,gBAAgB,CAC9B,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE,GACvE,OAAO,CAAC,WAAW,EAAE,CAAC;cAQT,oBAAoB,CAClC,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QACP,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,EAAE,GACF,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAW9B,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS;IAWvF,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAWlE,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IA4BjE,SAAS,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;CAQrF;AAED,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC"}
|
|
@@ -30,7 +30,8 @@ export class PostgresSchemaIntrospector extends AbstractSqlSchemaIntrospector {
|
|
|
30
30
|
`;
|
|
31
31
|
}
|
|
32
32
|
parseTableExistsResult(results) {
|
|
33
|
-
|
|
33
|
+
// biome-ignore lint/complexity/useLiteralKeys: bracket access required by noPropertyAccessFromIndexSignature
|
|
34
|
+
return results[0]?.['exists'] ?? false;
|
|
34
35
|
}
|
|
35
36
|
getColumnsQuery(_tableName) {
|
|
36
37
|
return /*sql*/ `
|
|
@@ -134,7 +135,7 @@ export class PostgresSchemaIntrospector extends AbstractSqlSchemaIntrospector {
|
|
|
134
135
|
`;
|
|
135
136
|
}
|
|
136
137
|
// ============================================================================
|
|
137
|
-
//
|
|
138
|
+
// Internal Types
|
|
138
139
|
// ============================================================================
|
|
139
140
|
mapTableNameRow(row) {
|
|
140
141
|
return row.table_name;
|
|
@@ -214,16 +215,13 @@ export class PostgresSchemaIntrospector extends AbstractSqlSchemaIntrospector {
|
|
|
214
215
|
// Return cleaned value for functions like CURRENT_TIMESTAMP, nextval(), etc.
|
|
215
216
|
return cleaned;
|
|
216
217
|
}
|
|
217
|
-
isAutoIncrement(
|
|
218
|
+
isAutoIncrement(columnDefault, isIdentity) {
|
|
218
219
|
// PostgreSQL identity columns (GENERATED ... AS IDENTITY)
|
|
219
220
|
if (isIdentity === 'YES') {
|
|
220
221
|
return true;
|
|
221
222
|
}
|
|
222
223
|
// Serial/bigserial columns use nextval()
|
|
223
|
-
|
|
224
|
-
return true;
|
|
225
|
-
}
|
|
226
|
-
return false;
|
|
224
|
+
return columnDefault?.includes('nextval(') ?? false;
|
|
227
225
|
}
|
|
228
226
|
}
|
|
229
227
|
//# sourceMappingURL=postgresIntrospector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/postgresIntrospector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,6BAA6B;IACxD,IAAI,CAAc;IAErC,YAAY,IAAiB;QAC3B,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,+EAA+E;IAC/E,iCAAiC;IACjC,+EAA+E;IAErE,kBAAkB;QAC1B,OAAO,OAAO,CAAC;;;;;;KAMd,CAAC;IACJ,CAAC;IAES,gBAAgB;QACxB,OAAO,OAAO,CAAC;;;;;;KAMd,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,OAAkC;QACjE,OAAQ,OAAO,CAAC,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"postgresIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/postgresIntrospector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,6BAA6B;IACxD,IAAI,CAAc;IAErC,YAAY,IAAiB;QAC3B,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,+EAA+E;IAC/E,iCAAiC;IACjC,+EAA+E;IAErE,kBAAkB;QAC1B,OAAO,OAAO,CAAC;;;;;;KAMd,CAAC;IACJ,CAAC;IAES,gBAAgB;QACxB,OAAO,OAAO,CAAC;;;;;;KAMd,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,OAAkC;QACjE,6GAA6G;QAC7G,OAAQ,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAa,IAAI,KAAK,CAAC;IACtD,CAAC;IAES,eAAe,CAAC,UAAkB;QAC1C,OAAO,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwCd,CAAC;IACJ,CAAC;IAES,eAAe,CAAC,UAAkB;QAC1C,OAAO,OAAO,CAAC;;;;;;;;;;;;;;;;KAgBd,CAAC;IACJ,CAAC;IAES,mBAAmB,CAAC,UAAkB;QAC9C,OAAO,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;KAuBd,CAAC;IACJ,CAAC;IAES,kBAAkB,CAAC,UAAkB;QAC7C,OAAO,OAAO,CAAC;;;;;;;;;;KAUd,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,iBAAiB;IACjB,+EAA+E;IAErE,eAAe,CAAC,GAA2B;QACnD,OAAO,GAAG,CAAC,UAAU,CAAC;IACxB,CAAC;IAES,KAAK,CAAC,gBAAgB,CAC9B,QAAoB,EACpB,UAAkB,EAClB,OAA4B;QAE5B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,GAAG,CAAC,WAAW;YACrB,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC;YACrD,QAAQ,EAAE,GAAG,CAAC,WAAW,KAAK,KAAK;YACnC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC;YACxD,YAAY,EAAE,GAAG,CAAC,cAAc;YAChC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;YAC1E,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,MAAM,EAAE,GAAG,CAAC,wBAAwB,IAAI,SAAS;YACjD,SAAS,EAAE,GAAG,CAAC,iBAAiB,IAAI,SAAS;YAC7C,KAAK,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS;YACrC,OAAO,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;SACzC,CAAC,CAAC,CAAC;IACN,CAAC;IAES,KAAK,CAAC,gBAAgB,CAC9B,QAAoB,EACpB,UAAkB,EAClB,OAAwE;QAExE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,GAAG,CAAC,UAAU;YACpB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,GAAG,CAAC,SAAS;SACtB,CAAC,CAAC,CAAC;IACN,CAAC;IAES,KAAK,CAAC,oBAAoB,CAClC,QAAoB,EACpB,UAAkB,EAClB,OAOG;QAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,GAAG,CAAC,eAAe;YACzB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,eAAe,EAAE,GAAG,CAAC,gBAAgB;YACrC,iBAAiB,EAAE,GAAG,CAAC,kBAAkB;YACzC,QAAQ,EAAE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC;YAC1D,QAAQ,EAAE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC;SAC3D,CAAC,CAAC,CAAC;IACN,CAAC;IAES,mBAAmB,CAAC,OAAkC;QAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,+EAA+E;IAC/E,8BAA8B;IAC9B,+EAA+E;IAErE,aAAa,CAAC,QAAgB,EAAE,OAAe;QACvD,uCAAuC;QACvC,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC;QACxD,CAAC;QACD,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAES,iBAAiB,CAAC,YAA2B;QACrD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,oEAAoE;QACpE,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEnF,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9C,OAAO,OAAO,KAAK,MAAM,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,6EAA6E;QAC7E,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,eAAe,CAAC,aAA4B,EAAE,UAAkB;QACxE,0DAA0D;QAC1D,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,yCAAyC;QACzC,OAAO,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;IACtD,CAAC;CACF"}
|
|
@@ -8,7 +8,7 @@ export declare class SqliteSchemaIntrospector extends AbstractSqlSchemaIntrospec
|
|
|
8
8
|
constructor(pool: QuerierPool);
|
|
9
9
|
protected getTableNamesQuery(): string;
|
|
10
10
|
protected tableExistsQuery(): string;
|
|
11
|
-
protected parseTableExistsResult(results:
|
|
11
|
+
protected parseTableExistsResult(results: SqliteCountRow[]): boolean;
|
|
12
12
|
protected getColumnsQuery(tableName: string): string;
|
|
13
13
|
protected getIndexesQuery(tableName: string): string;
|
|
14
14
|
protected getForeignKeysQuery(tableName: string): string;
|
|
@@ -17,14 +17,44 @@ export declare class SqliteSchemaIntrospector extends AbstractSqlSchemaIntrospec
|
|
|
17
17
|
protected getIndexesParams(_tableName: string): unknown[];
|
|
18
18
|
protected getForeignKeysParams(_tableName: string): unknown[];
|
|
19
19
|
protected getPrimaryKeyParams(_tableName: string): unknown[];
|
|
20
|
-
protected mapTableNameRow(row:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
protected
|
|
24
|
-
protected
|
|
20
|
+
protected mapTableNameRow(row: {
|
|
21
|
+
name: string;
|
|
22
|
+
}): string;
|
|
23
|
+
protected mapColumnsResult(querier: SqlQuerier, tableName: string, results: SqliteColumnRow[]): Promise<ColumnSchema[]>;
|
|
24
|
+
protected mapIndexesResult(querier: SqlQuerier, _tableName: string, results: SqliteIndexRow[]): Promise<IndexSchema[]>;
|
|
25
|
+
protected mapForeignKeysResult(_querier: SqlQuerier, tableName: string, results: SqliteForeignKeyRow[]): Promise<ForeignKeySchema[]>;
|
|
26
|
+
protected mapPrimaryKeyResult(results: SqliteColumnRow[]): string[] | undefined;
|
|
25
27
|
private getUniqueColumns;
|
|
26
28
|
protected normalizeType(type: string): string;
|
|
27
29
|
protected extractLength(type: string): number | undefined;
|
|
28
30
|
protected parseDefaultValue(defaultValue: string | null): unknown;
|
|
29
31
|
}
|
|
32
|
+
type SqliteCountRow = {
|
|
33
|
+
count: number | bigint;
|
|
34
|
+
};
|
|
35
|
+
type SqliteColumnRow = {
|
|
36
|
+
name: string;
|
|
37
|
+
type: string;
|
|
38
|
+
notnull: number;
|
|
39
|
+
dflt_value: string | null;
|
|
40
|
+
pk: number;
|
|
41
|
+
};
|
|
42
|
+
type SqliteIndexRow = {
|
|
43
|
+
seq: number;
|
|
44
|
+
name: string;
|
|
45
|
+
unique: number;
|
|
46
|
+
origin: string;
|
|
47
|
+
partial: number;
|
|
48
|
+
};
|
|
49
|
+
type SqliteForeignKeyRow = {
|
|
50
|
+
id: number;
|
|
51
|
+
seq: number;
|
|
52
|
+
table: string;
|
|
53
|
+
from: string;
|
|
54
|
+
to: string;
|
|
55
|
+
on_update: string;
|
|
56
|
+
on_delete: string;
|
|
57
|
+
match: string;
|
|
58
|
+
};
|
|
59
|
+
export {};
|
|
30
60
|
//# sourceMappingURL=sqliteIntrospector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqliteIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/sqliteIntrospector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,6BAA6B;IACzE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;gBAEzB,IAAI,EAAE,WAAW;IAS7B,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAUtC,SAAS,CAAC,gBAAgB,IAAI,MAAM;IASpC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sqliteIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/sqliteIntrospector.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,10 +129,10 @@ export class SqliteSchemaIntrospector extends AbstractSqlSchemaIntrospector {
|
|
|
129
129
|
// SQLite-specific helpers
|
|
130
130
|
// ============================================================================
|
|
131
131
|
async getUniqueColumns(querier, tableName) {
|
|
132
|
-
const
|
|
132
|
+
const results = await querier.all(`PRAGMA index_list(${this.escapeId(tableName)})`);
|
|
133
133
|
const uniqueColumns = new Set();
|
|
134
|
-
for (const index of
|
|
135
|
-
if (index.unique
|
|
134
|
+
for (const index of results) {
|
|
135
|
+
if (index.unique) {
|
|
136
136
|
const indexInfo = await querier.all(`PRAGMA index_info(${this.escapeId(index.name)})`);
|
|
137
137
|
// Only single-column unique constraints
|
|
138
138
|
if (indexInfo.length === 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqliteIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/sqliteIntrospector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,6BAA6B;IACtD,IAAI,CAAc;IAErC,YAAY,IAAiB;QAC3B,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,+EAA+E;IAC/E,iCAAiC;IACjC,+EAA+E;IAErE,kBAAkB;QAC1B,OAAO,OAAO,CAAC;;;;;;KAMd,CAAC;IACJ,CAAC;IAES,gBAAgB;QACxB,OAAO,OAAO,CAAC;;;;;KAKd,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"sqliteIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/sqliteIntrospector.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,9 @@ export declare class MongoDialect extends AbstractDialect {
|
|
|
9
9
|
* Check if an object has operator keys (keys starting with $).
|
|
10
10
|
*/
|
|
11
11
|
private hasOperatorKeys;
|
|
12
|
+
protected mapTableNameRow(row: {
|
|
13
|
+
table_name: string;
|
|
14
|
+
}): string;
|
|
12
15
|
/**
|
|
13
16
|
* Transform RJPC operators to MongoDB operators.
|
|
14
17
|
*/
|
|
@@ -19,14 +22,14 @@ export declare class MongoDialect extends AbstractDialect {
|
|
|
19
22
|
normalizeIds<E extends Document>(meta: EntityMeta<E>, docs: E[]): E[];
|
|
20
23
|
normalizeId<E extends Document>(meta: EntityMeta<E>, doc: E): E;
|
|
21
24
|
getIdValue<T extends IdValue>(value: T): T;
|
|
22
|
-
getPersistable<E>(meta: EntityMeta<E>, payload: E, callbackKey: CallbackKey): E
|
|
23
|
-
getPersistables<E>(meta: EntityMeta<E>, payload: E | E[], callbackKey: CallbackKey): E[];
|
|
25
|
+
getPersistable<E extends Document>(meta: EntityMeta<E>, payload: E, callbackKey: CallbackKey): Partial<E>;
|
|
26
|
+
getPersistables<E extends Document>(meta: EntityMeta<E>, payload: E | E[], callbackKey: CallbackKey): Partial<E>[];
|
|
24
27
|
}
|
|
25
|
-
type MongoAggregationPipelineEntry<E extends Document> = {
|
|
26
|
-
|
|
28
|
+
export type MongoAggregationPipelineEntry<E extends Document> = {
|
|
29
|
+
$lookup?: MongoAggregationLookup<E>;
|
|
27
30
|
$match?: Filter<E> | Record<string, any>;
|
|
28
31
|
$sort?: Sort;
|
|
29
|
-
|
|
32
|
+
$unwind?: MongoAggregationUnwind;
|
|
30
33
|
};
|
|
31
34
|
type MongoAggregationLookup<E extends Document> = {
|
|
32
35
|
readonly from?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongoDialect.d.ts","sourceRoot":"","sources":["../../src/mongo/mongoDialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,KAAK,EACL,YAAY,EACZ,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,IAAI,EACL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,KAAK,WAAW,EAMjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,YAAa,SAAQ,eAAe;gBACnC,cAAc,CAAC,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"mongoDialect.d.ts","sourceRoot":"","sources":["../../src/mongo/mongoDialect.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,33 +8,37 @@ export class MongoDialect extends AbstractDialect {
|
|
|
8
8
|
}
|
|
9
9
|
where(entity, where = {}, { softDelete } = {}) {
|
|
10
10
|
const meta = getMeta(entity);
|
|
11
|
-
|
|
12
|
-
if (meta.softDelete && (softDelete || softDelete === undefined) && !
|
|
11
|
+
const whereMap = buldQueryWhereAsMap(meta, where);
|
|
12
|
+
if (meta.softDelete && (softDelete || softDelete === undefined) && !whereMap[meta.softDelete]) {
|
|
13
13
|
const field = meta.fields[meta.softDelete];
|
|
14
|
-
|
|
14
|
+
whereMap[this.resolveColumnName(meta.softDelete, field)] = null;
|
|
15
15
|
}
|
|
16
|
-
return
|
|
17
|
-
let
|
|
16
|
+
return Object.entries(whereMap).reduce((acc, entry) => {
|
|
17
|
+
let key = entry[0];
|
|
18
|
+
let val = entry[1];
|
|
18
19
|
if (key === '$and' || key === '$or') {
|
|
19
|
-
|
|
20
|
+
const filterList = val.map((filterIt) => this.where(entity, filterIt));
|
|
21
|
+
acc[key] = filterList;
|
|
20
22
|
}
|
|
21
23
|
else {
|
|
22
24
|
const field = meta.fields[key];
|
|
23
25
|
if (key === '_id' || key === meta.id) {
|
|
24
26
|
key = '_id';
|
|
25
|
-
|
|
27
|
+
val = this.getIdValue(val);
|
|
26
28
|
}
|
|
27
29
|
else if (field) {
|
|
28
30
|
key = this.resolveColumnName(key, field);
|
|
29
31
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
if (val &&
|
|
33
|
+
typeof val === 'object' &&
|
|
34
|
+
!Array.isArray(val) &&
|
|
35
|
+
this.hasOperatorKeys(val)) {
|
|
36
|
+
val = this.transformOperators(val);
|
|
33
37
|
}
|
|
34
|
-
else if (Array.isArray(
|
|
35
|
-
|
|
38
|
+
else if (Array.isArray(val)) {
|
|
39
|
+
val = { $in: val };
|
|
36
40
|
}
|
|
37
|
-
acc[key] =
|
|
41
|
+
acc[key] = val;
|
|
38
42
|
}
|
|
39
43
|
return acc;
|
|
40
44
|
}, {});
|
|
@@ -45,6 +49,9 @@ export class MongoDialect extends AbstractDialect {
|
|
|
45
49
|
hasOperatorKeys(obj) {
|
|
46
50
|
return Object.keys(obj).some((key) => key.startsWith('$'));
|
|
47
51
|
}
|
|
52
|
+
mapTableNameRow(row) {
|
|
53
|
+
return row.table_name;
|
|
54
|
+
}
|
|
48
55
|
/**
|
|
49
56
|
* Transform RJPC operators to MongoDB operators.
|
|
50
57
|
*/
|
|
@@ -54,26 +61,34 @@ export class MongoDialect extends AbstractDialect {
|
|
|
54
61
|
switch (op) {
|
|
55
62
|
case '$between': {
|
|
56
63
|
const [min, max] = val;
|
|
57
|
-
|
|
58
|
-
|
|
64
|
+
const $gte = '$gte';
|
|
65
|
+
const $lte = '$lte';
|
|
66
|
+
result[$gte] = min;
|
|
67
|
+
result[$lte] = max;
|
|
59
68
|
break;
|
|
60
69
|
}
|
|
61
|
-
case '$isNull':
|
|
70
|
+
case '$isNull': {
|
|
71
|
+
const $eq = '$eq';
|
|
72
|
+
const $ne = '$ne';
|
|
62
73
|
if (val) {
|
|
63
|
-
result[
|
|
74
|
+
result[$eq] = null;
|
|
64
75
|
}
|
|
65
76
|
else {
|
|
66
|
-
result[
|
|
77
|
+
result[$ne] = null;
|
|
67
78
|
}
|
|
68
79
|
break;
|
|
69
|
-
|
|
80
|
+
}
|
|
81
|
+
case '$isNotNull': {
|
|
82
|
+
const $ne = '$ne';
|
|
83
|
+
const $eq = '$eq';
|
|
70
84
|
if (val) {
|
|
71
|
-
result[
|
|
85
|
+
result[$ne] = null;
|
|
72
86
|
}
|
|
73
87
|
else {
|
|
74
|
-
result[
|
|
88
|
+
result[$eq] = null;
|
|
75
89
|
}
|
|
76
90
|
break;
|
|
91
|
+
}
|
|
77
92
|
// MongoDB native operators - pass through directly
|
|
78
93
|
case '$all':
|
|
79
94
|
case '$size':
|
|
@@ -91,37 +106,68 @@ export class MongoDialect extends AbstractDialect {
|
|
|
91
106
|
result[op] = val;
|
|
92
107
|
break;
|
|
93
108
|
// String operators need to be converted to regex
|
|
94
|
-
case '$startsWith':
|
|
95
|
-
|
|
109
|
+
case '$startsWith': {
|
|
110
|
+
const $regex = '$regex';
|
|
111
|
+
result[$regex] = `^${val}`;
|
|
96
112
|
break;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
113
|
+
}
|
|
114
|
+
case '$istartsWith': {
|
|
115
|
+
const $regex = '$regex';
|
|
116
|
+
const $options = '$options';
|
|
117
|
+
result[$regex] = `^${val}`;
|
|
118
|
+
result[$options] = 'i';
|
|
100
119
|
break;
|
|
101
|
-
|
|
102
|
-
|
|
120
|
+
}
|
|
121
|
+
case '$endsWith': {
|
|
122
|
+
const $regex = '$regex';
|
|
123
|
+
result[$regex] = `${val}$`;
|
|
103
124
|
break;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
125
|
+
}
|
|
126
|
+
case '$iendsWith': {
|
|
127
|
+
const $regex = '$regex';
|
|
128
|
+
const $options = '$options';
|
|
129
|
+
result[$regex] = `${val}$`;
|
|
130
|
+
result[$options] = 'i';
|
|
107
131
|
break;
|
|
132
|
+
}
|
|
108
133
|
case '$includes':
|
|
109
|
-
|
|
134
|
+
case '$contains': {
|
|
135
|
+
const $regex = '$regex';
|
|
136
|
+
result[$regex] = val;
|
|
110
137
|
break;
|
|
138
|
+
}
|
|
111
139
|
case '$iincludes':
|
|
112
|
-
|
|
113
|
-
|
|
140
|
+
case '$icontains': {
|
|
141
|
+
const $regex = '$regex';
|
|
142
|
+
const $options = '$options';
|
|
143
|
+
result[$regex] = val;
|
|
144
|
+
result[$options] = 'i';
|
|
114
145
|
break;
|
|
115
|
-
|
|
146
|
+
}
|
|
147
|
+
case '$text': {
|
|
148
|
+
const $text = '$text';
|
|
149
|
+
const $search = '$search';
|
|
150
|
+
result[$text] = { [$search]: val };
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
case '$like': {
|
|
154
|
+
const $regex = '$regex';
|
|
116
155
|
// Convert SQL LIKE pattern to regex
|
|
117
|
-
result[
|
|
156
|
+
result[$regex] = String(val).replace(/%/g, '.*').replace(/_/g, '.');
|
|
118
157
|
break;
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
158
|
+
}
|
|
159
|
+
case '$ilike': {
|
|
160
|
+
const $regex = '$regex';
|
|
161
|
+
const $options = '$options';
|
|
162
|
+
// Convert SQL ILIKE pattern to regex
|
|
163
|
+
result[$regex] = String(val).replace(/%/g, '.*').replace(/_/g, '.');
|
|
164
|
+
result[$options] = 'i';
|
|
122
165
|
break;
|
|
123
|
-
|
|
166
|
+
}
|
|
167
|
+
default: {
|
|
124
168
|
result[op] = val;
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
125
171
|
}
|
|
126
172
|
}
|
|
127
173
|
return result;
|
|
@@ -178,8 +224,9 @@ export class MongoDialect extends AbstractDialect {
|
|
|
178
224
|
const foreignFieldName = this.resolveColumnName(relOpts.references[0].foreign, foreignField);
|
|
179
225
|
const referenceWhere = this.where(relEntity, where);
|
|
180
226
|
const referenceSort = this.sort(relEntity, q.$sort);
|
|
227
|
+
const _id = '_id';
|
|
181
228
|
const referencePipelineEntry = {
|
|
182
|
-
$match: { [foreignFieldName]: referenceWhere
|
|
229
|
+
$match: { [foreignFieldName]: referenceWhere[_id] },
|
|
183
230
|
};
|
|
184
231
|
if (hasKeys(referenceSort)) {
|
|
185
232
|
referencePipelineEntry.$sort = referenceSort;
|
|
@@ -201,13 +248,14 @@ export class MongoDialect extends AbstractDialect {
|
|
|
201
248
|
}
|
|
202
249
|
normalizeId(meta, doc) {
|
|
203
250
|
if (!doc) {
|
|
204
|
-
return;
|
|
251
|
+
return doc;
|
|
205
252
|
}
|
|
206
253
|
const res = doc;
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
254
|
+
const _id = '_id';
|
|
255
|
+
if (res[_id]) {
|
|
256
|
+
res[meta.id] = res[_id];
|
|
257
|
+
if (meta.id !== _id) {
|
|
258
|
+
delete res[_id];
|
|
211
259
|
}
|
|
212
260
|
}
|
|
213
261
|
for (const key of getKeys(meta.fields)) {
|