@onivoro/server-typeorm-postgres 24.16.0 → 24.19.0
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/package.json +4 -4
- package/src/index.d.ts +29 -0
- package/src/index.js +32 -0
- package/src/index.js.map +1 -0
- package/src/lib/classes/column-migration-base.class.d.ts +9 -0
- package/src/lib/classes/column-migration-base.class.js +20 -0
- package/src/lib/classes/column-migration-base.class.js.map +1 -0
- package/src/lib/classes/columns-migration-base.class.d.ts +9 -0
- package/src/lib/classes/columns-migration-base.class.js +20 -0
- package/src/lib/classes/columns-migration-base.class.js.map +1 -0
- package/src/lib/classes/drop-column-migration-base.class.d.ts +9 -0
- package/src/lib/classes/drop-column-migration-base.class.js +20 -0
- package/src/lib/classes/drop-column-migration-base.class.js.map +1 -0
- package/src/lib/classes/drop-table-migration-base.class.d.ts +9 -0
- package/src/lib/classes/drop-table-migration-base.class.js +20 -0
- package/src/lib/classes/drop-table-migration-base.class.js.map +1 -0
- package/src/lib/classes/index-migration-base.class.d.ts +9 -0
- package/src/lib/classes/index-migration-base.class.js +20 -0
- package/src/lib/classes/index-migration-base.class.js.map +1 -0
- package/src/lib/classes/redshift-repository.class.d.ts +30 -0
- package/src/lib/classes/redshift-repository.class.js +119 -0
- package/src/lib/classes/redshift-repository.class.js.map +1 -0
- package/src/lib/classes/sql-writer.class.d.ts +15 -0
- package/src/lib/classes/sql-writer.class.js +54 -0
- package/src/lib/classes/sql-writer.class.js.map +1 -0
- package/src/lib/classes/table-migration-base.class.d.ts +9 -0
- package/src/lib/classes/table-migration-base.class.js +20 -0
- package/src/lib/classes/table-migration-base.class.js.map +1 -0
- package/src/lib/classes/type-orm-paging-repository.class.d.ts +15 -0
- package/src/lib/classes/type-orm-paging-repository.class.js +17 -0
- package/src/lib/classes/type-orm-paging-repository.class.js.map +1 -0
- package/src/lib/classes/type-orm-repository.class.d.ts +64 -0
- package/src/lib/classes/type-orm-repository.class.js +213 -0
- package/src/lib/classes/type-orm-repository.class.js.map +1 -0
- package/src/lib/constants/many-to-one-relation-options.constant.d.ts +3 -0
- package/src/lib/constants/many-to-one-relation-options.constant.js +5 -0
- package/src/lib/constants/many-to-one-relation-options.constant.js.map +1 -0
- package/src/lib/decorators/nullable-table-column.decorator.d.ts +3 -0
- package/src/lib/decorators/nullable-table-column.decorator.js +13 -0
- package/src/lib/decorators/nullable-table-column.decorator.js.map +1 -0
- package/src/lib/decorators/primary-table-column.decorator.d.ts +3 -0
- package/src/lib/decorators/primary-table-column.decorator.js +13 -0
- package/src/lib/decorators/primary-table-column.decorator.js.map +1 -0
- package/src/lib/decorators/table-column.decorator.d.ts +3 -0
- package/src/lib/decorators/table-column.decorator.js +13 -0
- package/src/lib/decorators/table-column.decorator.js.map +1 -0
- package/src/lib/decorators/table.decorator.d.ts +4 -0
- package/src/lib/decorators/table.decorator.js +12 -0
- package/src/lib/decorators/table.decorator.js.map +1 -0
- package/src/lib/functions/data-source-config-factory.function.d.ts +4 -0
- package/src/lib/functions/data-source-config-factory.function.js +26 -0
- package/src/lib/functions/data-source-config-factory.function.js.map +1 -0
- package/src/lib/functions/data-source-factory.function.d.ts +4 -0
- package/src/lib/functions/data-source-factory.function.js +8 -0
- package/src/lib/functions/data-source-factory.function.js.map +1 -0
- package/src/lib/functions/generate-date-query.function.d.ts +3 -0
- package/src/lib/functions/generate-date-query.function.js +17 -0
- package/src/lib/functions/generate-date-query.function.js.map +1 -0
- package/src/lib/functions/get-api-type-from-column.function.d.ts +3 -0
- package/src/lib/functions/get-api-type-from-column.function.js +15 -0
- package/src/lib/functions/get-api-type-from-column.function.js.map +1 -0
- package/src/lib/functions/get-paging-key.function.d.ts +2 -0
- package/src/lib/functions/get-paging-key.function.js +7 -0
- package/src/lib/functions/get-paging-key.function.js.map +1 -0
- package/src/lib/functions/get-skip.function.d.ts +2 -0
- package/src/lib/functions/get-skip.function.js +7 -0
- package/src/lib/functions/get-skip.function.js.map +1 -0
- package/src/lib/functions/remove-falsey-keys.function.d.ts +2 -0
- package/src/lib/functions/remove-falsey-keys.function.js +12 -0
- package/src/lib/functions/remove-falsey-keys.function.js.map +1 -0
- package/src/lib/server-typeorm-postgres.module.d.ts +6 -0
- package/src/lib/server-typeorm-postgres.module.js +45 -0
- package/src/lib/server-typeorm-postgres.module.js.map +1 -0
- package/src/lib/types/data-source-options.interface.d.ts +12 -0
- package/src/lib/types/data-source-options.interface.js +3 -0
- package/src/lib/types/data-source-options.interface.js.map +1 -0
- package/src/lib/types/entity-provider.interface.d.ts +10 -0
- package/src/lib/types/entity-provider.interface.js +3 -0
- package/src/lib/types/entity-provider.interface.js.map +1 -0
- package/src/lib/types/page-params.interface.d.ts +7 -0
- package/src/lib/types/page-params.interface.js +3 -0
- package/src/lib/types/page-params.interface.js.map +1 -0
- package/src/lib/types/paged-data.interface.d.ts +7 -0
- package/src/lib/types/paged-data.interface.js +3 -0
- package/src/lib/types/paged-data.interface.js.map +1 -0
- package/src/lib/types/table-meta.type.d.ts +10 -0
- package/src/lib/types/table-meta.type.js +3 -0
- package/src/lib/types/table-meta.type.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onivoro/server-typeorm-postgres",
|
|
3
|
-
"version": "24.
|
|
3
|
+
"version": "24.19.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
|
-
"main": "./index.js",
|
|
6
|
-
"types": "./index.d.ts",
|
|
5
|
+
"main": "./src/index.js",
|
|
6
|
+
"types": "./src/index.d.ts",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "https://github.com/onivoro/monorepo.git"
|
|
@@ -25,4 +25,4 @@
|
|
|
25
25
|
"**/*.js.map",
|
|
26
26
|
"README.md"
|
|
27
27
|
]
|
|
28
|
-
}
|
|
28
|
+
}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export * from './lib/classes/column-migration-base.class';
|
|
2
|
+
export * from './lib/classes/columns-migration-base.class';
|
|
3
|
+
export * from './lib/classes/drop-column-migration-base.class';
|
|
4
|
+
export * from './lib/classes/drop-table-migration-base.class';
|
|
5
|
+
export * from './lib/classes/index-migration-base.class';
|
|
6
|
+
export * from './lib/classes/redshift-repository.class';
|
|
7
|
+
export * from './lib/classes/sql-writer.class';
|
|
8
|
+
export * from './lib/classes/table-migration-base.class';
|
|
9
|
+
export * from './lib/classes/type-orm-paging-repository.class';
|
|
10
|
+
export * from './lib/classes/type-orm-repository.class';
|
|
11
|
+
export * from './lib/constants/many-to-one-relation-options.constant';
|
|
12
|
+
export * from './lib/decorators/nullable-table-column.decorator';
|
|
13
|
+
export * from './lib/decorators/primary-table-column.decorator';
|
|
14
|
+
export * from './lib/decorators/table-column.decorator';
|
|
15
|
+
export * from './lib/decorators/table.decorator';
|
|
16
|
+
export * from './lib/functions/data-source-config-factory.function';
|
|
17
|
+
export * from './lib/functions/data-source-factory.function';
|
|
18
|
+
export * from './lib/functions/generate-date-query.function';
|
|
19
|
+
export * from './lib/functions/get-api-type-from-column.function';
|
|
20
|
+
export * from './lib/functions/get-paging-key.function';
|
|
21
|
+
export * from './lib/functions/get-skip.function';
|
|
22
|
+
export * from './lib/functions/remove-falsey-keys.function';
|
|
23
|
+
export * from './lib/types/data-source-options.interface';
|
|
24
|
+
export * from './lib/types/entity-provider.interface';
|
|
25
|
+
export * from './lib/types/page-params.interface';
|
|
26
|
+
export * from './lib/types/paged-data.interface';
|
|
27
|
+
export * from './lib/types/table-meta.type';
|
|
28
|
+
export * from './lib/server-typeorm-postgres.module';
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
package/src/index.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./lib/classes/column-migration-base.class"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./lib/classes/columns-migration-base.class"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./lib/classes/drop-column-migration-base.class"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./lib/classes/drop-table-migration-base.class"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./lib/classes/index-migration-base.class"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./lib/classes/redshift-repository.class"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./lib/classes/sql-writer.class"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./lib/classes/table-migration-base.class"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./lib/classes/type-orm-paging-repository.class"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./lib/classes/type-orm-repository.class"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./lib/constants/many-to-one-relation-options.constant"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./lib/decorators/nullable-table-column.decorator"), exports);
|
|
16
|
+
tslib_1.__exportStar(require("./lib/decorators/primary-table-column.decorator"), exports);
|
|
17
|
+
tslib_1.__exportStar(require("./lib/decorators/table-column.decorator"), exports);
|
|
18
|
+
tslib_1.__exportStar(require("./lib/decorators/table.decorator"), exports);
|
|
19
|
+
tslib_1.__exportStar(require("./lib/functions/data-source-config-factory.function"), exports);
|
|
20
|
+
tslib_1.__exportStar(require("./lib/functions/data-source-factory.function"), exports);
|
|
21
|
+
tslib_1.__exportStar(require("./lib/functions/generate-date-query.function"), exports);
|
|
22
|
+
tslib_1.__exportStar(require("./lib/functions/get-api-type-from-column.function"), exports);
|
|
23
|
+
tslib_1.__exportStar(require("./lib/functions/get-paging-key.function"), exports);
|
|
24
|
+
tslib_1.__exportStar(require("./lib/functions/get-skip.function"), exports);
|
|
25
|
+
tslib_1.__exportStar(require("./lib/functions/remove-falsey-keys.function"), exports);
|
|
26
|
+
tslib_1.__exportStar(require("./lib/types/data-source-options.interface"), exports);
|
|
27
|
+
tslib_1.__exportStar(require("./lib/types/entity-provider.interface"), exports);
|
|
28
|
+
tslib_1.__exportStar(require("./lib/types/page-params.interface"), exports);
|
|
29
|
+
tslib_1.__exportStar(require("./lib/types/paged-data.interface"), exports);
|
|
30
|
+
tslib_1.__exportStar(require("./lib/types/table-meta.type"), exports);
|
|
31
|
+
tslib_1.__exportStar(require("./lib/server-typeorm-postgres.module"), exports);
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/server/typeorm-postgres/src/index.ts"],"names":[],"mappings":";;;AAAA,oFAA0D;AAC1D,qFAA2D;AAC3D,yFAA+D;AAC/D,wFAA8D;AAC9D,mFAAyD;AACzD,kFAAwD;AACxD,yEAA+C;AAC/C,mFAAyD;AACzD,yFAA+D;AAC/D,kFAAwD;AAExD,gGAAsE;AAEtE,2FAAiE;AACjE,0FAAgE;AAChE,kFAAwD;AACxD,2EAAiD;AAEjD,8FAAoE;AACpE,uFAA6D;AAC7D,uFAA6D;AAC7D,4FAAkE;AAClE,kFAAwD;AACxD,4EAAkD;AAClD,sFAA4D;AAE5D,oFAA0D;AAC1D,gFAAsD;AACtD,4EAAkD;AAClD,2EAAiD;AACjD,sEAA4C;AAE5C,+EAAqD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner, TableColumnOptions } from "typeorm";
|
|
2
|
+
export declare class ColumnMigrationBase implements MigrationInterface {
|
|
3
|
+
table: string;
|
|
4
|
+
option: TableColumnOptions;
|
|
5
|
+
constructor(table: string, option: TableColumnOptions);
|
|
6
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
7
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=column-migration-base.class.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ColumnMigrationBase = void 0;
|
|
4
|
+
const sql_writer_class_1 = require("./sql-writer.class");
|
|
5
|
+
class ColumnMigrationBase {
|
|
6
|
+
table;
|
|
7
|
+
option;
|
|
8
|
+
constructor(table, option) {
|
|
9
|
+
this.table = table;
|
|
10
|
+
this.option = option;
|
|
11
|
+
}
|
|
12
|
+
async up(queryRunner) {
|
|
13
|
+
await queryRunner.query(sql_writer_class_1.SqlWriter.addColumn(this.table, this.option));
|
|
14
|
+
}
|
|
15
|
+
async down(queryRunner) {
|
|
16
|
+
await queryRunner.query(sql_writer_class_1.SqlWriter.dropColumn(this.table, this.option));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.ColumnMigrationBase = ColumnMigrationBase;
|
|
20
|
+
//# sourceMappingURL=column-migration-base.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-migration-base.class.js","sourceRoot":"","sources":["../../../../../../../libs/server/typeorm-postgres/src/lib/classes/column-migration-base.class.ts"],"names":[],"mappings":";;;AACA,yDAA+C;AAE/C,MAAa,mBAAmB;IAEjB;IACA;IAFX,YACW,KAAa,EACb,MAA0B;QAD1B,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAoB;IACjC,CAAC;IAEE,KAAK,CAAC,EAAE,CAAC,WAAwB;QACpC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;CACJ;AAbD,kDAaC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner, TableColumnOptions } from "typeorm";
|
|
2
|
+
export declare class ColumnsMigrationBase implements MigrationInterface {
|
|
3
|
+
table: string;
|
|
4
|
+
options: TableColumnOptions[];
|
|
5
|
+
constructor(table: string, options: TableColumnOptions[]);
|
|
6
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
7
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=columns-migration-base.class.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ColumnsMigrationBase = void 0;
|
|
4
|
+
const sql_writer_class_1 = require("./sql-writer.class");
|
|
5
|
+
class ColumnsMigrationBase {
|
|
6
|
+
table;
|
|
7
|
+
options;
|
|
8
|
+
constructor(table, options) {
|
|
9
|
+
this.table = table;
|
|
10
|
+
this.options = options;
|
|
11
|
+
}
|
|
12
|
+
async up(queryRunner) {
|
|
13
|
+
await queryRunner.query(sql_writer_class_1.SqlWriter.addColumns(this.table, this.options));
|
|
14
|
+
}
|
|
15
|
+
async down(queryRunner) {
|
|
16
|
+
await queryRunner.query(sql_writer_class_1.SqlWriter.dropColumns(this.table, this.options));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.ColumnsMigrationBase = ColumnsMigrationBase;
|
|
20
|
+
//# sourceMappingURL=columns-migration-base.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columns-migration-base.class.js","sourceRoot":"","sources":["../../../../../../../libs/server/typeorm-postgres/src/lib/classes/columns-migration-base.class.ts"],"names":[],"mappings":";;;AACA,yDAA+C;AAE/C,MAAa,oBAAoB;IAElB;IACA;IAFX,YACW,KAAa,EACb,OAA6B;QAD7B,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAsB;IACpC,CAAC;IAEE,KAAK,CAAC,EAAE,CAAC,WAAwB;QACpC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;CACJ;AAbD,oDAaC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner, TableColumnOptions } from "typeorm";
|
|
2
|
+
export declare class DropColumnMigrationBase implements MigrationInterface {
|
|
3
|
+
table: string;
|
|
4
|
+
option: TableColumnOptions;
|
|
5
|
+
constructor(table: string, option: TableColumnOptions);
|
|
6
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
7
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=drop-column-migration-base.class.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DropColumnMigrationBase = void 0;
|
|
4
|
+
const sql_writer_class_1 = require("./sql-writer.class");
|
|
5
|
+
class DropColumnMigrationBase {
|
|
6
|
+
table;
|
|
7
|
+
option;
|
|
8
|
+
constructor(table, option) {
|
|
9
|
+
this.table = table;
|
|
10
|
+
this.option = option;
|
|
11
|
+
}
|
|
12
|
+
async down(queryRunner) {
|
|
13
|
+
await queryRunner.query(sql_writer_class_1.SqlWriter.addColumn(this.table, this.option));
|
|
14
|
+
}
|
|
15
|
+
async up(queryRunner) {
|
|
16
|
+
await queryRunner.query(sql_writer_class_1.SqlWriter.dropColumn(this.table, this.option));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.DropColumnMigrationBase = DropColumnMigrationBase;
|
|
20
|
+
//# sourceMappingURL=drop-column-migration-base.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop-column-migration-base.class.js","sourceRoot":"","sources":["../../../../../../../libs/server/typeorm-postgres/src/lib/classes/drop-column-migration-base.class.ts"],"names":[],"mappings":";;;AACA,yDAA+C;AAE/C,MAAa,uBAAuB;IAErB;IACA;IAFX,YACW,KAAa,EACb,MAA0B;QAD1B,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAoB;IACjC,CAAC;IAEE,KAAK,CAAC,IAAI,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,KAAK,CAAC,EAAE,CAAC,WAAwB;QACpC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;CACJ;AAbD,0DAaC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner, TableColumnOptions } from "typeorm";
|
|
2
|
+
export declare class DropTableMigrationBase implements MigrationInterface {
|
|
3
|
+
table: string;
|
|
4
|
+
options: TableColumnOptions[];
|
|
5
|
+
constructor(table: string, options: TableColumnOptions[]);
|
|
6
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
7
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=drop-table-migration-base.class.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DropTableMigrationBase = void 0;
|
|
4
|
+
const sql_writer_class_1 = require("./sql-writer.class");
|
|
5
|
+
class DropTableMigrationBase {
|
|
6
|
+
table;
|
|
7
|
+
options;
|
|
8
|
+
constructor(table, options) {
|
|
9
|
+
this.table = table;
|
|
10
|
+
this.options = options;
|
|
11
|
+
}
|
|
12
|
+
async down(queryRunner) {
|
|
13
|
+
await queryRunner.query(sql_writer_class_1.SqlWriter.createTable(this.table, this.options));
|
|
14
|
+
}
|
|
15
|
+
async up(queryRunner) {
|
|
16
|
+
await queryRunner.query(sql_writer_class_1.SqlWriter.dropTable(this.table));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.DropTableMigrationBase = DropTableMigrationBase;
|
|
20
|
+
//# sourceMappingURL=drop-table-migration-base.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop-table-migration-base.class.js","sourceRoot":"","sources":["../../../../../../../libs/server/typeorm-postgres/src/lib/classes/drop-table-migration-base.class.ts"],"names":[],"mappings":";;;AACA,yDAA+C;AAE/C,MAAa,sBAAsB;IAEpB;IACA;IAFX,YACW,KAAa,EACb,OAA6B;QAD7B,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAsB;IACpC,CAAC;IAEE,KAAK,CAAC,IAAI,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEM,KAAK,CAAC,EAAE,CAAC,WAAwB;QACpC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;CACJ;AAbD,wDAaC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner, TableColumnOptions } from "typeorm";
|
|
2
|
+
export declare class UniqueIndexMigrationBase implements MigrationInterface {
|
|
3
|
+
table: string;
|
|
4
|
+
option: TableColumnOptions;
|
|
5
|
+
constructor(table: string, option: TableColumnOptions);
|
|
6
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
7
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=index-migration-base.class.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UniqueIndexMigrationBase = void 0;
|
|
4
|
+
const sql_writer_class_1 = require("./sql-writer.class");
|
|
5
|
+
class UniqueIndexMigrationBase {
|
|
6
|
+
table;
|
|
7
|
+
option;
|
|
8
|
+
constructor(table, option) {
|
|
9
|
+
this.table = table;
|
|
10
|
+
this.option = option;
|
|
11
|
+
}
|
|
12
|
+
async up(queryRunner) {
|
|
13
|
+
await queryRunner.query(sql_writer_class_1.SqlWriter.createUniqueIndex(this.table, this.option.name));
|
|
14
|
+
}
|
|
15
|
+
async down(queryRunner) {
|
|
16
|
+
await queryRunner.query(sql_writer_class_1.SqlWriter.dropIndex(sql_writer_class_1.SqlWriter.getIndexName(this.table, this.option.name)));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.UniqueIndexMigrationBase = UniqueIndexMigrationBase;
|
|
20
|
+
//# sourceMappingURL=index-migration-base.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-migration-base.class.js","sourceRoot":"","sources":["../../../../../../../libs/server/typeorm-postgres/src/lib/classes/index-migration-base.class.ts"],"names":[],"mappings":";;;AACA,yDAA+C;AAE/C,MAAa,wBAAwB;IAEtB;IACA;IAFX,YACW,KAAa,EACb,MAA0B;QAD1B,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAoB;IACjC,CAAC;IAEE,KAAK,CAAC,EAAE,CAAC,WAAwB;QACpC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,SAAS,CAAC,4BAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;CACJ;AAbD,4DAaC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DataSource, EntityManager, FindManyOptions, FindOneOptions, FindOptionsWhere } from 'typeorm';
|
|
2
|
+
import { QueryDeepPartialEntity } from 'typeorm/query-builder/QueryPartialEntity';
|
|
3
|
+
import { TypeOrmRepository } from './type-orm-repository.class';
|
|
4
|
+
import { TTableMeta } from '../types/table-meta.type';
|
|
5
|
+
import { TKeysOf } from '@onivoro/isomorphic-common';
|
|
6
|
+
export declare class RedshiftRepository<TEntity> extends TypeOrmRepository<TEntity> {
|
|
7
|
+
entityType: any;
|
|
8
|
+
entityManager: EntityManager;
|
|
9
|
+
constructor(entityType: any, entityManager: EntityManager);
|
|
10
|
+
getMany(options: FindManyOptions<TEntity>): Promise<TEntity[]>;
|
|
11
|
+
getOne(options: FindOneOptions<TEntity>): Promise<TEntity>;
|
|
12
|
+
delete(where: FindOptionsWhere<TEntity>): Promise<void>;
|
|
13
|
+
patch(where: FindOptionsWhere<TEntity>, body: QueryDeepPartialEntity<TEntity>): Promise<void>;
|
|
14
|
+
postOne(entity: Partial<TEntity>): Promise<TEntity>;
|
|
15
|
+
postMany(entities: Partial<TEntity>[]): Promise<TEntity[]>;
|
|
16
|
+
put(options: FindOptionsWhere<TEntity>, body: QueryDeepPartialEntity<TEntity>): Promise<void>;
|
|
17
|
+
forTransaction(entityManager: EntityManager): TypeOrmRepository<TEntity>;
|
|
18
|
+
getManyAndCount(options: FindManyOptions<TEntity>): Promise<[TEntity[], number]>;
|
|
19
|
+
softDelete(where: FindOptionsWhere<TEntity>): Promise<void>;
|
|
20
|
+
postOneWithoutReturn(entity: Partial<TEntity>): Promise<void>;
|
|
21
|
+
postManyWithoutReturn(entities: Partial<TEntity>[]): Promise<void>;
|
|
22
|
+
private throwNotImplemented;
|
|
23
|
+
protected mapPlaceholderExpression(length: number, index: number, column: string): string;
|
|
24
|
+
static buildFromMetadata<TGenericEntity>(dataSource: DataSource, _: {
|
|
25
|
+
schema: string;
|
|
26
|
+
table: string;
|
|
27
|
+
columns: TKeysOf<TGenericEntity, TTableMeta>;
|
|
28
|
+
}): RedshiftRepository<TGenericEntity>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=redshift-repository.class.d.ts.map
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var RedshiftRepository_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.RedshiftRepository = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const typeorm_1 = require("typeorm");
|
|
8
|
+
const type_orm_repository_class_1 = require("./type-orm-repository.class");
|
|
9
|
+
let RedshiftRepository = RedshiftRepository_1 = class RedshiftRepository extends type_orm_repository_class_1.TypeOrmRepository {
|
|
10
|
+
entityType;
|
|
11
|
+
entityManager;
|
|
12
|
+
constructor(entityType, entityManager) {
|
|
13
|
+
super(entityType, entityManager);
|
|
14
|
+
this.entityType = entityType;
|
|
15
|
+
this.entityManager = entityManager;
|
|
16
|
+
}
|
|
17
|
+
async getMany(options) {
|
|
18
|
+
const { query, queryParams } = this.buildSelectStatement(options);
|
|
19
|
+
return await this.queryAndMap(query, queryParams.map(_ => _.value ? _.value : _));
|
|
20
|
+
}
|
|
21
|
+
async getOne(options) {
|
|
22
|
+
const results = await this.getMany(options);
|
|
23
|
+
if (results.length > 1) {
|
|
24
|
+
throw new Error(`RedshiftRepository.getOne expected one result but found ${results.length} results`);
|
|
25
|
+
}
|
|
26
|
+
return results[0];
|
|
27
|
+
}
|
|
28
|
+
async delete(where) {
|
|
29
|
+
const { query, queryParams } = this.buildDeleteStatement(where);
|
|
30
|
+
await this.query(query, queryParams);
|
|
31
|
+
}
|
|
32
|
+
async patch(where, body) {
|
|
33
|
+
const queryParams = [];
|
|
34
|
+
let whereClause = '';
|
|
35
|
+
Object.entries(where).forEach(([propertyPath, value], index) => {
|
|
36
|
+
const key = this.columns[propertyPath].databasePath;
|
|
37
|
+
if (index === 0) {
|
|
38
|
+
whereClause += ` WHERE ${key} = ${this.mapPlaceholderExpression(0, index, propertyPath)}`;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
whereClause += ` AND ${key} = ${this.mapPlaceholderExpression(0, index, propertyPath)}`;
|
|
42
|
+
}
|
|
43
|
+
queryParams.push(value);
|
|
44
|
+
});
|
|
45
|
+
const setParams = [];
|
|
46
|
+
let setExpressions = [];
|
|
47
|
+
const length = queryParams?.length;
|
|
48
|
+
Object.entries(body).forEach(([key, value], index) => {
|
|
49
|
+
setExpressions.push(`${this.columns[key].databasePath} = ${this.mapPlaceholderExpression(length, index, key)}`);
|
|
50
|
+
setParams.push(value);
|
|
51
|
+
});
|
|
52
|
+
let query = `UPDATE ${this.getTableNameExpression()} SET ${setExpressions.join(', ')} ${whereClause}`;
|
|
53
|
+
await this.query(query, [...queryParams, ...setParams]);
|
|
54
|
+
}
|
|
55
|
+
async postOne(entity) {
|
|
56
|
+
await this.postOneWithoutReturn(entity);
|
|
57
|
+
return await this.getOne({ where: entity });
|
|
58
|
+
}
|
|
59
|
+
async postMany(entities) {
|
|
60
|
+
if (entities?.length) {
|
|
61
|
+
const { insertQuery, values } = this.buildInsertManyQuery(entities);
|
|
62
|
+
await this.query(insertQuery, values);
|
|
63
|
+
const { selectQuery, values: selectValues } = this.buildSelectManyQuery(entities);
|
|
64
|
+
return await this.queryAndMap(selectQuery, selectValues);
|
|
65
|
+
}
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
async put(options, body) {
|
|
69
|
+
this.throwNotImplemented('put');
|
|
70
|
+
}
|
|
71
|
+
forTransaction(entityManager) {
|
|
72
|
+
this.throwNotImplemented('forTransaction');
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
async getManyAndCount(options) {
|
|
76
|
+
this.throwNotImplemented('getManyAndCount');
|
|
77
|
+
return [[], 0];
|
|
78
|
+
}
|
|
79
|
+
async softDelete(where) {
|
|
80
|
+
await this.patch(where, { deletedAt: new Date().toISOString() });
|
|
81
|
+
}
|
|
82
|
+
async postOneWithoutReturn(entity) {
|
|
83
|
+
const { insertQuery, values } = this.buildInsertQuery(entity);
|
|
84
|
+
await this.query(insertQuery, values);
|
|
85
|
+
}
|
|
86
|
+
async postManyWithoutReturn(entities) {
|
|
87
|
+
this.throwNotImplemented('postManyWithoutReturn');
|
|
88
|
+
}
|
|
89
|
+
throwNotImplemented(feature) {
|
|
90
|
+
throw new common_1.NotImplementedException(`RedshiftRepository of type "${this.entityType?.name}" has no implementation for "${feature}"`);
|
|
91
|
+
}
|
|
92
|
+
mapPlaceholderExpression(length, index, column) {
|
|
93
|
+
const exp = `$${length + index + 1}`;
|
|
94
|
+
const meta = this.columns[column];
|
|
95
|
+
return meta.type === 'jsonb' ? `JSON_PARSE(${exp})` : exp;
|
|
96
|
+
}
|
|
97
|
+
static buildFromMetadata(dataSource, _) {
|
|
98
|
+
class GenericRepository extends RedshiftRepository_1 {
|
|
99
|
+
constructor() {
|
|
100
|
+
const entityManager = dataSource.createEntityManager();
|
|
101
|
+
super(Object, {
|
|
102
|
+
...entityManager,
|
|
103
|
+
getRepository: () => entityManager
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const genericRepository = new GenericRepository();
|
|
108
|
+
genericRepository.schema = _.schema;
|
|
109
|
+
genericRepository.table = _.table;
|
|
110
|
+
genericRepository.columns = _.columns;
|
|
111
|
+
return genericRepository;
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
exports.RedshiftRepository = RedshiftRepository;
|
|
115
|
+
exports.RedshiftRepository = RedshiftRepository = RedshiftRepository_1 = tslib_1.__decorate([
|
|
116
|
+
(0, common_1.Injectable)(),
|
|
117
|
+
tslib_1.__metadata("design:paramtypes", [Object, typeorm_1.EntityManager])
|
|
118
|
+
], RedshiftRepository);
|
|
119
|
+
//# sourceMappingURL=redshift-repository.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redshift-repository.class.js","sourceRoot":"","sources":["../../../../../../../libs/server/typeorm-postgres/src/lib/classes/redshift-repository.class.ts"],"names":[],"mappings":";;;;;AAAA,2CAAqE;AACrE,qCAAuG;AAEvG,2EAAgE;AAKzD,IAAM,kBAAkB,0BAAxB,MAAM,kBAA4B,SAAQ,6CAA0B;IAEtD;IAAwB;IAA3C,YAAmB,UAAe,EAAS,aAA4B;QACrE,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QADhB,eAAU,GAAV,UAAU,CAAK;QAAS,kBAAa,GAAb,aAAa,CAAe;IAEvE,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,OAAiC;QACtD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAElE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,OAAgC;QACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,2DAA2D,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;QACvG,CAAC;QAED,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,KAAgC;QACpD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACvC,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAC,KAAgC,EAAE,IAAqC;QAC1F,MAAM,WAAW,GAAU,EAAE,CAAC;QAC9B,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE;YAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAA6B,CAAC,CAAC,YAAY,CAAC;YACrE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,WAAW,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;YAC5F,CAAC;iBAAM,CAAC;gBACN,WAAW,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;YAC1F,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAU,EAAE,CAAC;QAC5B,IAAI,cAAc,GAAa,EAAE,CAAC;QAElC,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,CAAC;QAEnC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE;YACnD,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAoB,CAAC,CAAC,YAAY,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACjI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,UAAU,IAAI,CAAC,sBAAsB,EAAE,QAAQ,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;QAEtG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,MAAwB;QAC7C,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAExC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAa,EAAE,CAAC,CAAC;IACrD,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAAC,QAA4B;QAClD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACrB,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAEpE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAEtC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAElF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEQ,KAAK,CAAC,GAAG,CAAC,OAAkC,EAAE,IAAqC;QAC1F,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEQ,cAAc,CAAC,aAA4B;QAClD,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,KAAK,CAAC,eAAe,CAAC,OAAiC;QAC9D,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAC5C,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACjB,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,KAAgC;QACxD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAS,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAwB;QAEjD,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE9D,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,QAA4B;QAGtD,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;IACpD,CAAC;IAEO,mBAAmB,CAAC,OAAe;QACzC,MAAM,IAAI,gCAAuB,CAAC,+BAA+B,IAAI,CAAC,UAAU,EAAE,IAAI,gCAAgC,OAAO,GAAG,CAAC,CAAC;IACpI,CAAC;IAEkB,wBAAwB,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc;QACvF,MAAM,GAAG,GAAG,IAAI,MAAM,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAe,IAAI,CAAC,OAAO,CAAC,MAAuB,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAiB,UAAsB,EAAE,CAAgF;QAE7I,MAAM,iBAAkB,SAAQ,oBAAkC;YAChE;gBACE,MAAM,aAAa,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC;gBACvD,KAAK,CAAC,MAAM,EAAE;oBACZ,GAAG,aAAa;oBAChB,aAAa,EAAE,GAAG,EAAE,CAAC,aAAoB;iBACnC,CAAC,CAAC;YACZ,CAAC;SACF;QAED,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACjD,iBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAC5C,iBAAyB,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAC1C,iBAAyB,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAE/C,OAAO,iBAAuD,CAAC;IACjE,CAAC;CACJ,CAAA;AAzIY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qDAG+C,uBAAa;GAF5D,kBAAkB,CAyI9B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TableColumnOptions } from "typeorm";
|
|
2
|
+
export declare class SqlWriter {
|
|
3
|
+
static addColumn(table: string, option: TableColumnOptions): string;
|
|
4
|
+
static createTable(table: string, options: TableColumnOptions[]): string;
|
|
5
|
+
static dropTable(table: string): string;
|
|
6
|
+
static addColumns(table: string, options: TableColumnOptions[]): string;
|
|
7
|
+
static dropColumn(table: string, option: TableColumnOptions): string;
|
|
8
|
+
static dropColumns(table: string, options: TableColumnOptions[]): string;
|
|
9
|
+
static dropIndex(index: string): string;
|
|
10
|
+
static createIndex(table: string, column: string, unique: boolean): string;
|
|
11
|
+
static getIndexName(table: string, column: string): string;
|
|
12
|
+
static createUniqueIndex(table: string, column: string): string;
|
|
13
|
+
static getDefaultValueExpression(option: TableColumnOptions): string;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=sql-writer.class.d.ts.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SqlWriter = void 0;
|
|
4
|
+
class SqlWriter {
|
|
5
|
+
static addColumn(table, option) {
|
|
6
|
+
const notNullExpression = option.isPrimary ? ` PRIMARY KEY ` : (option.isNullable ? '' : ' NOT NULL ');
|
|
7
|
+
const foreignKey = option.foreignKeyConstraintName ? ` REFERENCES ${option.foreignKeyConstraintName} ` : '';
|
|
8
|
+
const uniqueExpression = option.isUnique ? ' UNIQUE ' : '';
|
|
9
|
+
return `ALTER TABLE "${table}" ADD "${option.name}" ${option.type}${notNullExpression}${uniqueExpression}${SqlWriter.getDefaultValueExpression(option)}${foreignKey}`;
|
|
10
|
+
}
|
|
11
|
+
static createTable(table, options) {
|
|
12
|
+
const cols = options.map(option => SqlWriter.addColumn(table, option).replace(`ALTER TABLE "${table}" ADD `, '')).join(',\n');
|
|
13
|
+
return `CREATE TABLE "${table}" (${cols});`;
|
|
14
|
+
}
|
|
15
|
+
static dropTable(table) {
|
|
16
|
+
return `DROP TABLE "${table}";\n`;
|
|
17
|
+
}
|
|
18
|
+
static addColumns(table, options) {
|
|
19
|
+
return options.map(option => SqlWriter.addColumn(table, option)).join('; \n');
|
|
20
|
+
}
|
|
21
|
+
static dropColumn(table, option) {
|
|
22
|
+
return `ALTER TABLE "${table}" DROP COLUMN ${option.name}`;
|
|
23
|
+
}
|
|
24
|
+
static dropColumns(table, options) {
|
|
25
|
+
return options.map(option => SqlWriter.dropColumn(table, option)).join('; \n');
|
|
26
|
+
}
|
|
27
|
+
static dropIndex(index) {
|
|
28
|
+
return `DROP INDEX IF EXISTS ${index}`;
|
|
29
|
+
}
|
|
30
|
+
static createIndex(table, column, unique) {
|
|
31
|
+
const index = SqlWriter.getIndexName(table, column);
|
|
32
|
+
return `CREATE ${unique ? 'UNIQUE' : ''} INDEX IF NOT EXISTS ${index} ON "${table}"(${column})`;
|
|
33
|
+
}
|
|
34
|
+
static getIndexName(table, column) {
|
|
35
|
+
return `${table}_${column}`;
|
|
36
|
+
}
|
|
37
|
+
static createUniqueIndex(table, column) {
|
|
38
|
+
return SqlWriter.createIndex(table, column, true);
|
|
39
|
+
}
|
|
40
|
+
static getDefaultValueExpression(option) {
|
|
41
|
+
if (typeof option.default === 'undefined') {
|
|
42
|
+
return '';
|
|
43
|
+
}
|
|
44
|
+
if (['json', 'jsonb'].includes(option.type)) {
|
|
45
|
+
return ` DEFAULT '${JSON.stringify(option.default)}'::${option.type} `;
|
|
46
|
+
}
|
|
47
|
+
if (['boolean', 'bigint', 'int'].includes(option.type)) {
|
|
48
|
+
return ` DEFAULT ${option.default.toString().toUpperCase()} `;
|
|
49
|
+
}
|
|
50
|
+
return ` DEFAULT '${option.default}' `;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.SqlWriter = SqlWriter;
|
|
54
|
+
//# sourceMappingURL=sql-writer.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-writer.class.js","sourceRoot":"","sources":["../../../../../../../libs/server/typeorm-postgres/src/lib/classes/sql-writer.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner, TableColumnOptions } from "typeorm";
|
|
2
|
+
export declare class TableMigrationBase implements MigrationInterface {
|
|
3
|
+
table: string;
|
|
4
|
+
options: TableColumnOptions[];
|
|
5
|
+
constructor(table: string, options: TableColumnOptions[]);
|
|
6
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
7
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=table-migration-base.class.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TableMigrationBase = void 0;
|
|
4
|
+
const sql_writer_class_1 = require("./sql-writer.class");
|
|
5
|
+
class TableMigrationBase {
|
|
6
|
+
table;
|
|
7
|
+
options;
|
|
8
|
+
constructor(table, options) {
|
|
9
|
+
this.table = table;
|
|
10
|
+
this.options = options;
|
|
11
|
+
}
|
|
12
|
+
async up(queryRunner) {
|
|
13
|
+
await queryRunner.query(sql_writer_class_1.SqlWriter.createTable(this.table, this.options));
|
|
14
|
+
}
|
|
15
|
+
async down(queryRunner) {
|
|
16
|
+
await queryRunner.query(sql_writer_class_1.SqlWriter.dropTable(this.table));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.TableMigrationBase = TableMigrationBase;
|
|
20
|
+
//# sourceMappingURL=table-migration-base.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-migration-base.class.js","sourceRoot":"","sources":["../../../../../../../libs/server/typeorm-postgres/src/lib/classes/table-migration-base.class.ts"],"names":[],"mappings":";;;AACA,yDAA+C;AAE/C,MAAa,kBAAkB;IAEhB;IACA;IAFX,YACW,KAAa,EACb,OAA6B;QAD7B,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAsB;IACpC,CAAC;IAEE,KAAK,CAAC,EAAE,CAAC,WAAwB;QACpC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;CACJ;AAbD,gDAaC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm';
|
|
2
|
+
import { TypeOrmRepository } from './type-orm-repository.class';
|
|
3
|
+
import { IPagedData } from '../types/paged-data.interface';
|
|
4
|
+
import { getSkip } from '../functions/get-skip.function';
|
|
5
|
+
import { removeFalseyKeys } from '../functions/remove-falsey-keys.function';
|
|
6
|
+
import { getPagingKey } from '../functions/get-paging-key.function';
|
|
7
|
+
import { IPageParams } from '../types/page-params.interface';
|
|
8
|
+
export declare abstract class TypeOrmPagingRepository<TEntity, TEntityParams> extends TypeOrmRepository<TEntity> {
|
|
9
|
+
protected getPagingKey: typeof getPagingKey;
|
|
10
|
+
protected getSkip: typeof getSkip;
|
|
11
|
+
protected removeFalseyKeys: typeof removeFalseyKeys;
|
|
12
|
+
constructor(entityType: any, entityManager: EntityManager);
|
|
13
|
+
abstract getPage(pageParams: IPageParams, params: TEntityParams): Promise<IPagedData<TEntity>>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=type-orm-paging-repository.class.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeOrmPagingRepository = void 0;
|
|
4
|
+
const type_orm_repository_class_1 = require("./type-orm-repository.class");
|
|
5
|
+
const get_skip_function_1 = require("../functions/get-skip.function");
|
|
6
|
+
const remove_falsey_keys_function_1 = require("../functions/remove-falsey-keys.function");
|
|
7
|
+
const get_paging_key_function_1 = require("../functions/get-paging-key.function");
|
|
8
|
+
class TypeOrmPagingRepository extends type_orm_repository_class_1.TypeOrmRepository {
|
|
9
|
+
getPagingKey = get_paging_key_function_1.getPagingKey;
|
|
10
|
+
getSkip = get_skip_function_1.getSkip;
|
|
11
|
+
removeFalseyKeys = remove_falsey_keys_function_1.removeFalseyKeys;
|
|
12
|
+
constructor(entityType, entityManager) {
|
|
13
|
+
super(entityType, entityManager);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.TypeOrmPagingRepository = TypeOrmPagingRepository;
|
|
17
|
+
//# sourceMappingURL=type-orm-paging-repository.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-orm-paging-repository.class.js","sourceRoot":"","sources":["../../../../../../../libs/server/typeorm-postgres/src/lib/classes/type-orm-paging-repository.class.ts"],"names":[],"mappings":";;;AAIA,2EAAgE;AAEhE,sEAAyD;AACzD,0FAA4E;AAC5E,kFAAoE;AAGpE,MAAsB,uBAAgD,SAAQ,6CAA0B;IAC5F,YAAY,GAAG,sCAAY,CAAC;IAC5B,OAAO,GAAG,2BAAO,CAAC;IAClB,gBAAgB,GAAG,8CAAgB,CAAC;IAE9C,YAAY,UAAe,EAAE,aAA4B;QACvD,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACnC,CAAC;CAGF;AAVD,0DAUC"}
|