@node-c/persistance-typeorm 1.0.0-alpha6 → 1.0.0-alpha60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entityService/typeorm.entity.service.d.ts +4 -2
- package/dist/entityService/typeorm.entity.service.js +3 -11
- package/dist/entityService/typeorm.entity.service.js.map +1 -1
- package/dist/module/typeorm.module.definitions.d.ts +2 -0
- package/dist/module/typeorm.module.js +45 -12
- package/dist/module/typeorm.module.js.map +1 -1
- package/dist/repository/typeorm.repository.module.js.map +1 -1
- package/package.json +7 -3
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { ConfigProviderService, PersistanceDefaultData } from '@node-c/core';
|
|
1
2
|
import { RDBEntityService, SQLQueryBuilderService } from '@node-c/persistance-rdb';
|
|
2
3
|
import { EntitySchema, ObjectLiteral } from 'typeorm';
|
|
3
4
|
import { TypeORMDBRepository } from '../repository';
|
|
4
|
-
export declare class TypeORMDBEntityService<Entity extends ObjectLiteral> extends RDBEntityService<Entity> {
|
|
5
|
+
export declare class TypeORMDBEntityService<Entity extends ObjectLiteral, Data extends PersistanceDefaultData<Entity> = PersistanceDefaultData<Entity>> extends RDBEntityService<Entity, Data> {
|
|
6
|
+
protected configProvider: ConfigProviderService;
|
|
5
7
|
protected qb: SQLQueryBuilderService;
|
|
6
8
|
protected repository: TypeORMDBRepository<Entity>;
|
|
7
9
|
protected schema: EntitySchema;
|
|
8
10
|
protected primaryKeys: string[];
|
|
9
|
-
constructor(qb: SQLQueryBuilderService, repository: TypeORMDBRepository<Entity>, schema: EntitySchema);
|
|
11
|
+
constructor(configProvider: ConfigProviderService, qb: SQLQueryBuilderService, repository: TypeORMDBRepository<Entity>, schema: EntitySchema);
|
|
10
12
|
}
|
|
@@ -3,20 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TypeORMDBEntityService = void 0;
|
|
4
4
|
const persistance_rdb_1 = require("@node-c/persistance-rdb");
|
|
5
5
|
class TypeORMDBEntityService extends persistance_rdb_1.RDBEntityService {
|
|
6
|
-
constructor(qb, repository, schema) {
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
constructor(configProvider, qb, repository, schema) {
|
|
7
|
+
super(configProvider, qb, repository, schema);
|
|
8
|
+
this.configProvider = configProvider;
|
|
9
9
|
this.qb = qb;
|
|
10
10
|
this.repository = repository;
|
|
11
11
|
this.schema = schema;
|
|
12
|
-
const { columns } = schema.options;
|
|
13
|
-
const primaryKeys = [];
|
|
14
|
-
for (const columnName in columns) {
|
|
15
|
-
if ((_a = columns[columnName]) === null || _a === void 0 ? void 0 : _a.primary) {
|
|
16
|
-
primaryKeys.push(columnName);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
this.primaryKeys = primaryKeys;
|
|
20
12
|
}
|
|
21
13
|
}
|
|
22
14
|
exports.TypeORMDBEntityService = TypeORMDBEntityService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeorm.entity.service.js","sourceRoot":"","sources":["../../src/entityService/typeorm.entity.service.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"typeorm.entity.service.js","sourceRoot":"","sources":["../../src/entityService/typeorm.entity.service.ts"],"names":[],"mappings":";;;AACA,6DAAmF;AAMnF,MAAa,sBAGX,SAAQ,kCAA8B;IAGtC,YACY,cAAqC,EACrC,EAA0B,EAC1B,UAAuC,EACvC,MAAoB;QAE9B,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QALpC,mBAAc,GAAd,cAAc,CAAuB;QACrC,OAAE,GAAF,EAAE,CAAwB;QAC1B,eAAU,GAAV,UAAU,CAA6B;QACvC,WAAM,GAAN,MAAM,CAAc;IAGhC,CAAC;CACF;AAdD,wDAcC"}
|
|
@@ -2,6 +2,7 @@ import { ModuleMetadata } from '@nestjs/common';
|
|
|
2
2
|
import { GenericObject } from '@node-c/core';
|
|
3
3
|
export interface TypeORMDBModuleOptions {
|
|
4
4
|
connectionName: string;
|
|
5
|
+
entityModuleRegisterOptions?: unknown;
|
|
5
6
|
exports?: ModuleMetadata['exports'];
|
|
6
7
|
folderData: GenericObject<unknown>;
|
|
7
8
|
imports?: {
|
|
@@ -12,4 +13,5 @@ export interface TypeORMDBModuleOptions {
|
|
|
12
13
|
moduleClass: unknown;
|
|
13
14
|
moduleName: string;
|
|
14
15
|
providers?: ModuleMetadata['providers'];
|
|
16
|
+
registerOptionsPerEntityModule?: GenericObject;
|
|
15
17
|
}
|
|
@@ -1,34 +1,67 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.TypeORMDBModule = void 0;
|
|
4
13
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
5
14
|
const core_1 = require("@node-c/core");
|
|
6
15
|
const persistance_rdb_1 = require("@node-c/persistance-rdb");
|
|
16
|
+
const typeorm_2 = require("typeorm");
|
|
7
17
|
class TypeORMDBModule {
|
|
8
18
|
static register(options) {
|
|
9
19
|
const { connectionName, folderData, imports: additionalImports, moduleClass, moduleName } = options;
|
|
10
20
|
const { atEnd: importsAtEnd, postORM: importsPostORM, preORM: importsPreORM } = additionalImports || {};
|
|
11
|
-
const { entities, modules } = (0, core_1.loadDynamicModules)(folderData
|
|
21
|
+
const { entities, modules } = (0, core_1.loadDynamicModules)(folderData, {
|
|
22
|
+
moduleRegisterOptions: options.entityModuleRegisterOptions,
|
|
23
|
+
registerOptionsPerModule: options.registerOptionsPerEntityModule
|
|
24
|
+
});
|
|
25
|
+
let lastRetryAt = new Date().valueOf();
|
|
12
26
|
return {
|
|
13
27
|
global: true,
|
|
14
28
|
module: moduleClass,
|
|
15
29
|
imports: [
|
|
16
30
|
...(importsPreORM || []),
|
|
17
31
|
typeorm_1.TypeOrmModule.forRootAsync({
|
|
32
|
+
dataSourceFactory: (options) => __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
let dataSource;
|
|
34
|
+
try {
|
|
35
|
+
dataSource = new typeorm_2.DataSource(options);
|
|
36
|
+
yield dataSource.initialize();
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
console.error(`[TypeORMDBModule][${moduleName}]: Error connecting to the DB Server:`, err);
|
|
40
|
+
const { failOnConnectionError = true } = (options || {});
|
|
41
|
+
if (failOnConnectionError) {
|
|
42
|
+
throw err;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return dataSource;
|
|
46
|
+
}),
|
|
18
47
|
name: connectionName,
|
|
19
48
|
useFactory: (configProvider) => {
|
|
20
49
|
const persistanceConfig = configProvider.config.persistance;
|
|
21
|
-
const { database, host, password, port, type, user } = persistanceConfig[moduleName];
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
50
|
+
const { database, failOnConnectionError, host, password, port, type, typeormExtraOptions, user } = persistanceConfig[moduleName];
|
|
51
|
+
const dataSourceOptions = {};
|
|
52
|
+
if (!failOnConnectionError) {
|
|
53
|
+
dataSourceOptions.toRetry = () => {
|
|
54
|
+
const now = new Date().valueOf();
|
|
55
|
+
if (Math.abs(lastRetryAt - now) > 60000) {
|
|
56
|
+
lastRetryAt = now;
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return Object.assign(Object.assign(Object.assign({}, dataSourceOptions), { database, entities: entities, failOnConnectionError,
|
|
63
|
+
host, manualInitialization: true, name: connectionName, password,
|
|
64
|
+
port, synchronize: false, type: type === core_1.RDBType.Aurora ? core_1.RDBType.MySQL : type, username: user }), (typeormExtraOptions || {}));
|
|
32
65
|
},
|
|
33
66
|
inject: [core_1.ConfigProviderService]
|
|
34
67
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeorm.module.js","sourceRoot":"","sources":["../../src/module/typeorm.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typeorm.module.js","sourceRoot":"","sources":["../../src/module/typeorm.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeorm.repository.module.js","sourceRoot":"","sources":["../../src/repository/typeorm.repository.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,6CAAoE;AAEpE,6DAA4E;
|
|
1
|
+
{"version":3,"file":"typeorm.repository.module.js","sourceRoot":"","sources":["../../src/repository/typeorm.repository.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,6CAAoE;AAEpE,6DAA4E;AAI5E,6DAA2D;AAIpD,IAAM,yBAAyB,iCAA/B,MAAM,yBAAyB;IACpC,MAAM,CAAC,QAAQ,CAA+B,OAAyC;QACrF,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC;QACvE,OAAO;YACL,MAAM,EAAE,2BAAyB;YACjC,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC;YAClE,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,2BAAS,CAAC,8BAA8B;oBACjD,QAAQ,EAAE,cAAc;iBACzB;gBACD;oBACE,OAAO,EAAE,wCAAsB;oBAC/B,UAAU,EAAE,CAAC,sBAA8C,EAAE,EAAE,CAAC,sBAAsB;oBACtF,MAAM,EAAE,CAAC,GAAG,qBAAqB,GAAG,2BAAS,CAAC,gCAAgC,EAAE,CAAC;iBAClF;gBACD;oBACE,OAAO,EAAE,2BAAS,CAAC,2BAA2B;oBAC9C,QAAQ,EAAE,WAAW;iBACtB;gBACD;oBACE,OAAO,EAAE,2BAAS,CAAC,yBAAyB;oBAC5C,UAAU,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,UAAU;oBAClD,MAAM,EAAE,CAAC,IAAA,4BAAkB,EAAC,cAAc,CAAC,CAAC;iBAC7C;gBACD,CAAA,wCAA2B,CAAA;gBAC3B;oBACE,OAAO,EAAE,2BAAS,CAAC,qBAAqB;oBACxC,WAAW,EAAE,CAAA,wCAA2B,CAAA;iBACzC;aACF;YACD,OAAO,EAAE;gBACP,uBAAa;gBACb,wCAAsB;gBACtB;oBACE,OAAO,EAAE,2BAAS,CAAC,qBAAqB;oBACxC,WAAW,EAAE,CAAA,wCAA2B,CAAA;iBACzC;gBACD;oBACE,OAAO,EAAE,2BAAS,CAAC,yBAAyB;oBAC5C,UAAU,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,UAAU;oBAClD,MAAM,EAAE,CAAC,IAAA,4BAAkB,EAAC,cAAc,CAAC,CAAC;iBAC7C;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AA9CY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,yBAAyB,CA8CrC"}
|
package/package.json
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@node-c/persistance-typeorm",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-alpha60",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "tsc -p tsconfig.build.json",
|
|
8
|
+
"build:clean": "rm -rf dist/* && rm -f *.tsbuildinfo && npm run build",
|
|
8
9
|
"check-types": "tsc -p tsconfig.build.json --noEmit",
|
|
9
10
|
"dev": "tsc -p tsconfig.build.json --watch",
|
|
10
|
-
"publish-package": "
|
|
11
|
+
"publish-package": "npm run build:clean && npm publish --access public",
|
|
11
12
|
"test": "vitest --config src/vitest.config.ts",
|
|
12
13
|
"test:coverage": "vitest --config src/vitest.config.ts --coverage"
|
|
13
14
|
},
|
|
14
15
|
"dependencies": {
|
|
15
16
|
"@nestjs/common": "^10.4.12",
|
|
16
17
|
"@nestjs/typeorm": "^10.0.2",
|
|
17
|
-
"@node-c/persistance-rdb": "^1.0.0-
|
|
18
|
+
"@node-c/persistance-rdb": "^1.0.0-alpha60",
|
|
18
19
|
"class-validator": "^0.14.1",
|
|
19
20
|
"typeorm": "^0.3.20",
|
|
20
21
|
"uuid": "^11.0.5"
|
|
22
|
+
},
|
|
23
|
+
"peerDependencies": {
|
|
24
|
+
"mysql2": "^3.14.2"
|
|
21
25
|
}
|
|
22
26
|
}
|