@campxdev/server-shared 1.0.5 → 1.0.6
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/shared-module/shared.module.d.ts.map +1 -1
- package/dist/shared-module/shared.module.js +17 -5
- package/dist/shared-module/shared.module.js.map +1 -1
- package/dist/shared-module/shared.service.d.ts +4 -1
- package/dist/shared-module/shared.service.d.ts.map +1 -1
- package/dist/shared-module/shared.service.js +19 -0
- package/dist/shared-module/shared.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.module.d.ts","sourceRoot":"","sources":["../../src/shared-module/shared.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"shared.module.d.ts","sourceRoot":"","sources":["../../src/shared-module/shared.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAM/D,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,eAAe,CAAC;CAClC;AAED,qBAEa,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa;CAoB5D"}
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var SharedModule_1;
|
|
2
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
10
|
exports.SharedModule = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
4
12
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
5
|
-
const
|
|
13
|
+
const common_2 = require("../common");
|
|
6
14
|
const domain_1 = require("../domain");
|
|
7
15
|
const shared_service_1 = require("./shared.service");
|
|
8
|
-
class SharedModule {
|
|
16
|
+
let SharedModule = SharedModule_1 = class SharedModule {
|
|
9
17
|
static forRoot(config) {
|
|
10
|
-
|
|
18
|
+
common_2.MessagePatterProps.service = config.service;
|
|
11
19
|
return {
|
|
12
|
-
module:
|
|
20
|
+
module: SharedModule_1,
|
|
13
21
|
imports: [
|
|
14
22
|
mongoose_1.MongooseModule.forFeature([{ name: domain_1.Tenant.name, schema: domain_1.TenantSchema }]),
|
|
15
23
|
domain_1.DBConnectionModule,
|
|
@@ -26,6 +34,10 @@ class SharedModule {
|
|
|
26
34
|
exports: [shared_service_1.SharedService, mongoose_1.MongooseModule],
|
|
27
35
|
};
|
|
28
36
|
}
|
|
29
|
-
}
|
|
37
|
+
};
|
|
38
|
+
SharedModule = SharedModule_1 = __decorate([
|
|
39
|
+
(0, common_1.Global)(),
|
|
40
|
+
(0, common_1.Module)({})
|
|
41
|
+
], SharedModule);
|
|
30
42
|
exports.SharedModule = SharedModule;
|
|
31
43
|
//# sourceMappingURL=shared.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.module.js","sourceRoot":"","sources":["../../src/shared-module/shared.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared.module.js","sourceRoot":"","sources":["../../src/shared-module/shared.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAC/D,+CAAsE;AAGtE,sCAA+C;AAC/C,sCAA4F;AAC5F,qDAAkE;AAS3D,IAAM,YAAY,oBAAlB,MAAM,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,MAA4B;QACzC,2BAAkB,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC5C,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,OAAO,EAAE;gBACP,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,eAAM,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAY,EAAE,CAAC,CAAC;gBACxE,2BAAkB;aACnB;YACD,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,8BAAa;oBACtB,UAAU,EAAE,CAAC,aAAsC,EAAE,UAAsB,EAAE,EAAE;wBAC7E,OAAO,IAAI,8BAAa,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;oBAC7E,CAAC;oBACD,MAAM,EAAE,CAAC,8BAAqB,EAAE,IAAA,6BAAkB,GAAE,CAAC;iBACtD;aACF;YACD,OAAO,EAAE,CAAC,8BAAa,EAAE,yBAAc,CAAC;SACzC,CAAC;IACJ,CAAC;CACF,CAAA;AArBY,YAAY;IAFxB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,YAAY,CAqBxB;AArBY,oCAAY"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
|
|
1
2
|
import { Connection } from 'mongoose';
|
|
2
3
|
import { DataSource } from 'typeorm';
|
|
3
4
|
import { IRequest, TenantDetails } from '../common/interfaces/context.interface';
|
|
@@ -6,12 +7,14 @@ export interface IDataBaseConfig {
|
|
|
6
7
|
entities?: any[];
|
|
7
8
|
migrations?: any[];
|
|
8
9
|
}
|
|
9
|
-
export declare class SharedService {
|
|
10
|
+
export declare class SharedService implements OnModuleDestroy, OnModuleInit {
|
|
10
11
|
private readonly dataBaseConfig;
|
|
11
12
|
private readonly dbConnections;
|
|
12
13
|
private readonly connection;
|
|
13
14
|
private readonly tenantModel;
|
|
14
15
|
constructor(dataBaseConfig: IDataBaseConfig, dbConnections: Map<string, DataSource>, connection: Connection);
|
|
16
|
+
onModuleInit(): Promise<void>;
|
|
17
|
+
onModuleDestroy(): Promise<void>;
|
|
15
18
|
createTenantDetails(tenant: Tenant): TenantDetails;
|
|
16
19
|
createTenantDetailsFromId(id: string): Promise<TenantDetails>;
|
|
17
20
|
getTenantRootConnection(tenantId: string): Promise<DataSource>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.service.d.ts","sourceRoot":"","sources":["../../src/shared-module/shared.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared.service.d.ts","sourceRoot":"","sources":["../../src/shared-module/shared.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,YAAY,EAEb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAS,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;CACpB;AAED,qBACa,aAAc,YAAW,eAAe,EAAE,YAAY;IAI/D,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;gBAGzB,cAAc,EAAE,eAAe,EAC/B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EACtC,UAAU,EAAE,UAAU;IAKnC,YAAY;IAWZ,eAAe;IAWrB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAO5C,yBAAyB,CAAC,EAAE,EAAE,MAAM;IAQpC,uBAAuB,CAAC,QAAQ,EAAE,MAAM;IA6CxC,mBAAmB,CAAC,MAAM,EAAE,aAAa;;;IAOzC,aAAa,CAAC,GAAG,EAAE,QAAQ;;;;;CAQlC"}
|
|
@@ -15,6 +15,7 @@ const mongoose_1 = require("mongoose");
|
|
|
15
15
|
const typeorm_1 = require("typeorm");
|
|
16
16
|
const typeorm_naming_strategies_1 = require("typeorm-naming-strategies");
|
|
17
17
|
const tenant_schema_1 = require("../domain/schemas/tenant.schema");
|
|
18
|
+
const permissions_1 = require("../permissions");
|
|
18
19
|
let SharedService = class SharedService {
|
|
19
20
|
dataBaseConfig;
|
|
20
21
|
dbConnections;
|
|
@@ -26,6 +27,24 @@ let SharedService = class SharedService {
|
|
|
26
27
|
this.connection = connection;
|
|
27
28
|
this.tenantModel = this.connection.model(tenant_schema_1.TenantCollectionName, tenant_schema_1.TenantSchema);
|
|
28
29
|
}
|
|
30
|
+
async onModuleInit() {
|
|
31
|
+
try {
|
|
32
|
+
(0, permissions_1.permissionsArray)();
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
throw err;
|
|
36
|
+
}
|
|
37
|
+
const tenants = await this.tenantModel.find().exec();
|
|
38
|
+
await Promise.all(tenants.map((tenant) => this.getTenantRootConnection(tenant.id)));
|
|
39
|
+
}
|
|
40
|
+
async onModuleDestroy() {
|
|
41
|
+
await Promise.all(Array.from(this.dbConnections.values()).map((conn) => {
|
|
42
|
+
return conn.destroy();
|
|
43
|
+
})).catch((err) => {
|
|
44
|
+
console.log('Error while closing database connections');
|
|
45
|
+
console.log(err);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
29
48
|
createTenantDetails(tenant) {
|
|
30
49
|
return {
|
|
31
50
|
...tenant.toObject(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.service.js","sourceRoot":"","sources":["../../src/shared-module/shared.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"shared.service.js","sourceRoot":"","sources":["../../src/shared-module/shared.service.ts"],"names":[],"mappings":"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"}
|