@onivoro/server-typeorm-postgres 0.1.1 → 0.1.3

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 CHANGED
@@ -1,15 +1,18 @@
1
1
  {
2
2
  "name": "@onivoro/server-typeorm-postgres",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "dependencies": {
5
5
  "@nestjs/common": "^9.3.9",
6
+ "@nestjs/core": "^9.0.0",
7
+ "@nestjs/platform-express": "^9.0.0",
6
8
  "@nestjs/swagger": "^6.2.1",
7
- "lodash.snakecase": "^4.1.1",
9
+ "reflect-metadata": "^0.1.13",
8
10
  "rxjs": "^7.8.0",
9
11
  "typeorm": "^0.3.12",
10
12
  "typeorm-naming-strategies": "^4.1.0"
11
13
  },
12
14
  "peerDependencies": {
15
+ "@onivoro/isomorphic-common": "0.0.1",
13
16
  "tslib": "^2.3.0"
14
17
  },
15
18
  "main": "./src/index.js",
package/src/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export * from './lib/classes/column-migration-base.class';
2
2
  export * from './lib/classes/columns-migration-base.class';
3
+ export * from './lib/classes/drop-column-migration-base.class';
4
+ export * from './lib/classes/index-migration-base.class';
3
5
  export * from './lib/classes/sql-writer.class';
4
6
  export * from './lib/classes/type-orm-repository.class';
5
7
  export * from './lib/decorators/nullable-table-column.decorator';
package/src/index.js CHANGED
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./lib/classes/column-migration-base.class"), exports);
5
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/index-migration-base.class"), exports);
6
8
  tslib_1.__exportStar(require("./lib/classes/sql-writer.class"), exports);
7
9
  tslib_1.__exportStar(require("./lib/classes/type-orm-repository.class"), exports);
8
10
  tslib_1.__exportStar(require("./lib/decorators/nullable-table-column.decorator"), exports);
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/server-typeorm-postgres/src/index.ts"],"names":[],"mappings":";;;AAAA,oFAA0D;AAC1D,qFAA2D;AAC3D,yEAA+C;AAC/C,kFAAwD;AAExD,2FAAiE;AACjE,0FAAgE;AAChE,kFAAwD;AACxD,2EAAiD;AAEjD,8FAAoE;AACpE,uFAA6D;AAC7D,4FAAkE;AAElE,oFAA0D;AAC1D,gFAAsD;AAEtD,+EAAqD"}
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,mFAAyD;AACzD,yEAA+C;AAC/C,kFAAwD;AAExD,2FAAiE;AACjE,0FAAgE;AAChE,kFAAwD;AACxD,2EAAiD;AAEjD,8FAAoE;AACpE,uFAA6D;AAC7D,4FAAkE;AAElE,oFAA0D;AAC1D,gFAAsD;AAEtD,+EAAqD"}
@@ -0,0 +1,8 @@
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
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DropColumnMigrationBase = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const sql_writer_class_1 = require("./sql-writer.class");
6
+ class DropColumnMigrationBase {
7
+ constructor(table, option) {
8
+ this.table = table;
9
+ this.option = option;
10
+ }
11
+ down(queryRunner) {
12
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
13
+ yield queryRunner.query(sql_writer_class_1.SqlWriter.addColumn(this.table, this.option));
14
+ });
15
+ }
16
+ up(queryRunner) {
17
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
18
+ yield queryRunner.query(sql_writer_class_1.SqlWriter.dropColumn(this.table, this.option));
19
+ });
20
+ }
21
+ }
22
+ exports.DropColumnMigrationBase = DropColumnMigrationBase;
23
+ //# 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;IAChC,YACW,KAAa,EACb,MAA0B;QAD1B,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAoB;IACjC,CAAC;IAEQ,IAAI,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,CAAC;KAAA;IAEY,EAAE,CAAC,WAAwB;;YACpC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,CAAC;KAAA;CACJ;AAbD,0DAaC"}
@@ -0,0 +1,8 @@
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
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UniqueIndexMigrationBase = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const sql_writer_class_1 = require("./sql-writer.class");
6
+ class UniqueIndexMigrationBase {
7
+ constructor(table, option) {
8
+ this.table = table;
9
+ this.option = option;
10
+ }
11
+ up(queryRunner) {
12
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
13
+ yield queryRunner.query(sql_writer_class_1.SqlWriter.createUniqueIndex(this.table, this.option.name));
14
+ });
15
+ }
16
+ down(queryRunner) {
17
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
18
+ yield queryRunner.query(sql_writer_class_1.SqlWriter.dropIndex(sql_writer_class_1.SqlWriter.getIndexName(this.table, this.option.name)));
19
+ });
20
+ }
21
+ }
22
+ exports.UniqueIndexMigrationBase = UniqueIndexMigrationBase;
23
+ //# 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;IACjC,YACW,KAAa,EACb,MAA0B;QAD1B,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAoB;IACjC,CAAC;IAEQ,EAAE,CAAC,WAAwB;;YACpC,MAAM,WAAW,CAAC,KAAK,CAAC,4BAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACtC,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;QACvG,CAAC;KAAA;CACJ;AAbD,4DAaC"}
@@ -2,7 +2,11 @@ import { TableColumnOptions } from "typeorm";
2
2
  export declare class SqlWriter {
3
3
  static addColumn(table: any, option: TableColumnOptions): string;
4
4
  static addColumns(table: any, options: TableColumnOptions[]): string;
5
- static dropColumn(table: any, option: TableColumnOptions): string;
6
- static dropColumns(table: any, options: TableColumnOptions[]): string;
5
+ static dropColumn(table: string, option: TableColumnOptions): string;
6
+ static dropColumns(table: string, options: TableColumnOptions[]): string;
7
+ static dropIndex(index: string): string;
8
+ static createIndex(table: string, column: string, unique: boolean): string;
9
+ static getIndexName(table: string, column: string): string;
10
+ static createUniqueIndex(table: string, column: string): string;
7
11
  static getDefaultValueExpression(option: TableColumnOptions): string;
8
12
  }
@@ -16,6 +16,19 @@ class SqlWriter {
16
16
  static dropColumns(table, options) {
17
17
  return options.map(option => SqlWriter.dropColumn(table, option)).join('; \n');
18
18
  }
19
+ static dropIndex(index) {
20
+ return `DROP INDEX IF EXISTS ${index}`;
21
+ }
22
+ static createIndex(table, column, unique) {
23
+ const index = SqlWriter.getIndexName(table, column);
24
+ return `CREATE ${unique ? 'UNIQUE' : ''} INDEX IF NOT EXISTS ${index} ON "${table}"(${column})`;
25
+ }
26
+ static getIndexName(table, column) {
27
+ return `${table}_${column}`;
28
+ }
29
+ static createUniqueIndex(table, column) {
30
+ return SqlWriter.createIndex(table, column, true);
31
+ }
19
32
  static getDefaultValueExpression(option) {
20
33
  if (typeof option.default === 'undefined') {
21
34
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"sql-writer.class.js","sourceRoot":"","sources":["../../../../../../libs/server-typeorm-postgres/src/lib/classes/sql-writer.class.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAEX,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAA0B;QACrD,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAChE,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5G,OAAO,gBAAgB,KAAK,UAAU,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,iBAAiB,GAAG,SAAS,CAAC,yBAAyB,CAAC,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvJ,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAA6B;QACzD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClF,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAA0B;QACtD,OAAO,gBAAgB,KAAK,iBAAiB,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/D,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAA6B;QAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnF,CAAC;IAEM,MAAM,CAAC,yBAAyB,CAAC,MAA0B;QAC9D,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE;YACvC,OAAO,EAAE,CAAC;SACb;QAED,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACzC,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,GAAG,CAAC;SAC1E;QAED,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACpD,OAAO,YAAY,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC;SACjE;QAED,OAAO,aAAa,MAAM,CAAC,OAAO,IAAI,CAAC;IAC3C,CAAC;CACJ;AAnCD,8BAmCC"}
1
+ {"version":3,"file":"sql-writer.class.js","sourceRoot":"","sources":["../../../../../../libs/server-typeorm-postgres/src/lib/classes/sql-writer.class.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAEX,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAA0B;QACrD,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAChE,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5G,OAAO,gBAAgB,KAAK,UAAU,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,iBAAiB,GAAG,SAAS,CAAC,yBAAyB,CAAC,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvJ,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAA6B;QACzD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClF,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAa,EAAE,MAA0B;QAC9D,OAAO,gBAAgB,KAAK,iBAAiB,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/D,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,KAAa,EAAE,OAA6B;QAClE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnF,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,KAAa;QACjC,OAAO,wBAAwB,KAAK,EAAE,CAAC;IAC3C,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,KAAa,EAAE,MAAc,EAAE,MAAe;QACpE,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,UAAU,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,wBAAwB,KAAK,QAAQ,KAAK,KAAK,MAAM,GAAG,CAAC;IACpG,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,KAAa,EAAE,MAAc;QACpD,OAAO,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,KAAa,EAAE,MAAc;QACzD,OAAO,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,yBAAyB,CAAC,MAA0B;QAC9D,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE;YACvC,OAAO,EAAE,CAAC;SACb;QAED,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACzC,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,GAAG,CAAC;SAC1E;QAED,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACpD,OAAO,YAAY,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC;SACjE;QAED,OAAO,aAAa,MAAM,CAAC,OAAO,IAAI,CAAC;IAC3C,CAAC;CACJ;AApDD,8BAoDC"}
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Table = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const typeorm_1 = require("typeorm");
6
- const lodash_snakecase_1 = require("lodash.snakecase");
6
+ const isomorphic_common_1 = require("@onivoro/isomorphic-common");
7
7
  const Table = (EntityClass) => {
8
- const tableName = (0, lodash_snakecase_1.default)(EntityClass.name);
8
+ const tableName = (0, isomorphic_common_1.snakeCase)(EntityClass.name);
9
9
  return (0, common_1.applyDecorators)((0, typeorm_1.Entity)(tableName));
10
10
  };
11
11
  exports.Table = Table;
@@ -1 +1 @@
1
- {"version":3,"file":"table.decorator.js","sourceRoot":"","sources":["../../../../../../libs/server-typeorm-postgres/src/lib/decorators/table.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AACjD,qCAAiC;AACjC,uDAAqC;AAE9B,MAAM,KAAK,GAAG,CAAC,WAA6B,EAAE,EAAE;IACnD,MAAM,SAAS,GAAG,IAAA,0BAAK,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,IAAA,wBAAe,EAAC,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAHW,QAAA,KAAK,SAGhB"}
1
+ {"version":3,"file":"table.decorator.js","sourceRoot":"","sources":["../../../../../../libs/server-typeorm-postgres/src/lib/decorators/table.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AACjD,qCAAiC;AACjC,kEAAuD;AAEhD,MAAM,KAAK,GAAG,CAAC,WAA6B,EAAE,EAAE;IACnD,MAAM,SAAS,GAAG,IAAA,6BAAS,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,IAAA,wBAAe,EAAC,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAHW,QAAA,KAAK,SAGhB"}