@lenne.tech/nest-server 11.19.0 → 11.20.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.
Files changed (31) hide show
  1. package/dist/core/common/interfaces/server-options.interface.d.ts +6 -0
  2. package/dist/core/common/middleware/request-context.middleware.js +8 -0
  3. package/dist/core/common/middleware/request-context.middleware.js.map +1 -1
  4. package/dist/core/common/plugins/mongoose-audit-fields.plugin.js +72 -0
  5. package/dist/core/common/plugins/mongoose-audit-fields.plugin.js.map +1 -1
  6. package/dist/core/common/plugins/mongoose-password.plugin.js +35 -0
  7. package/dist/core/common/plugins/mongoose-password.plugin.js.map +1 -1
  8. package/dist/core/common/plugins/mongoose-role-guard.plugin.js +61 -0
  9. package/dist/core/common/plugins/mongoose-role-guard.plugin.js.map +1 -1
  10. package/dist/core/common/plugins/mongoose-tenant.plugin.d.ts +1 -0
  11. package/dist/core/common/plugins/mongoose-tenant.plugin.js +108 -0
  12. package/dist/core/common/plugins/mongoose-tenant.plugin.js.map +1 -0
  13. package/dist/core/common/services/request-context.service.d.ts +5 -0
  14. package/dist/core/common/services/request-context.service.js +14 -0
  15. package/dist/core/common/services/request-context.service.js.map +1 -1
  16. package/dist/core.module.js +4 -0
  17. package/dist/core.module.js.map +1 -1
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.js +1 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/tsconfig.build.tsbuildinfo +1 -1
  22. package/package.json +11 -12
  23. package/src/core/common/interfaces/server-options.interface.ts +80 -0
  24. package/src/core/common/middleware/request-context.middleware.ts +8 -1
  25. package/src/core/common/plugins/mongoose-audit-fields.plugin.ts +84 -0
  26. package/src/core/common/plugins/mongoose-password.plugin.ts +41 -1
  27. package/src/core/common/plugins/mongoose-role-guard.plugin.ts +65 -1
  28. package/src/core/common/plugins/mongoose-tenant.plugin.ts +165 -0
  29. package/src/core/common/services/request-context.service.ts +37 -0
  30. package/src/core.module.ts +5 -0
  31. package/src/index.ts +1 -0
@@ -108,6 +108,11 @@ export interface IJwt {
108
108
  secretOrPrivateKey?: string;
109
109
  signInOptions?: JwtSignOptions;
110
110
  }
111
+ export interface IMultiTenancy {
112
+ enabled?: boolean;
113
+ userField?: string;
114
+ excludeSchemas?: string[];
115
+ }
111
116
  export interface IServerOptions {
112
117
  appUrl?: string;
113
118
  auth?: IAuth;
@@ -189,6 +194,7 @@ export interface IServerOptions {
189
194
  strictQuery?: boolean;
190
195
  uri: string;
191
196
  };
197
+ multiTenancy?: IMultiTenancy;
192
198
  permissions?: boolean | IPermissions;
193
199
  port?: number;
194
200
  security?: {
@@ -8,6 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.RequestContextMiddleware = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
+ const config_service_1 = require("../services/config.service");
11
12
  const request_context_service_1 = require("../services/request-context.service");
12
13
  let RequestContextMiddleware = class RequestContextMiddleware {
13
14
  use(req, _res, next) {
@@ -18,6 +19,13 @@ let RequestContextMiddleware = class RequestContextMiddleware {
18
19
  get language() {
19
20
  return req.headers?.['accept-language'] || undefined;
20
21
  },
22
+ get tenantId() {
23
+ const config = config_service_1.ConfigService.configFastButReadOnly?.multiTenancy;
24
+ if (!config || config.enabled === false)
25
+ return undefined;
26
+ const field = config.userField ?? 'tenantId';
27
+ return req.user?.[field] ?? undefined;
28
+ },
21
29
  };
22
30
  request_context_service_1.RequestContext.run(context, () => next());
23
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.middleware.js","sourceRoot":"","sources":["../../../../src/core/common/middleware/request-context.middleware.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4D;AAG5D,iFAAsF;AAS/E,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;QAClD,MAAM,OAAO,GAAoB;YAC/B,IAAI,WAAW;gBACb,OAAQ,GAAW,CAAC,IAAI,IAAI,SAAS,CAAC;YACxC,CAAC;YACD,IAAI,QAAQ;gBACV,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC;YACvD,CAAC;SACF,CAAC;QACF,wCAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF,CAAA;AAZY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;GACA,wBAAwB,CAYpC"}
1
+ {"version":3,"file":"request-context.middleware.js","sourceRoot":"","sources":["../../../../src/core/common/middleware/request-context.middleware.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4D;AAG5D,+DAA2D;AAC3D,iFAAsF;AAS/E,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;QAClD,MAAM,OAAO,GAAoB;YAC/B,IAAI,WAAW;gBACb,OAAQ,GAAW,CAAC,IAAI,IAAI,SAAS,CAAC;YACxC,CAAC;YACD,IAAI,QAAQ;gBACV,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC;YACvD,CAAC;YACD,IAAI,QAAQ;gBACV,MAAM,MAAM,GAAG,8BAAa,CAAC,qBAAqB,EAAE,YAAY,CAAC;gBACjE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;oBAAE,OAAO,SAAS,CAAC;gBAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC;gBAC7C,OAAQ,GAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;YACjD,CAAC;SACF,CAAC;QACF,wCAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF,CAAA;AAlBY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;GACA,wBAAwB,CAkBpC"}
@@ -46,6 +46,78 @@ function mongooseAuditFieldsPlugin(schema) {
46
46
  schema.pre('findOneAndUpdate', updateHook);
47
47
  schema.pre('updateOne', updateHook);
48
48
  schema.pre('updateMany', updateHook);
49
+ const replaceHook = function () {
50
+ const currentUser = request_context_service_1.RequestContext.getCurrentUser();
51
+ if (!currentUser?.id) {
52
+ return;
53
+ }
54
+ const replacement = this.getUpdate();
55
+ if (!replacement) {
56
+ return;
57
+ }
58
+ replacement['updatedBy'] = currentUser.id;
59
+ if (hasCreatedBy && !replacement['createdBy']) {
60
+ replacement['createdBy'] = currentUser.id;
61
+ }
62
+ };
63
+ schema.pre('replaceOne', replaceHook);
64
+ schema.pre('findOneAndReplace', replaceHook);
49
65
  }
66
+ schema.pre('insertMany', function (docs) {
67
+ const currentUser = request_context_service_1.RequestContext.getCurrentUser();
68
+ if (!currentUser?.id)
69
+ return;
70
+ if (!Array.isArray(docs))
71
+ return;
72
+ for (const doc of docs) {
73
+ if (hasCreatedBy && !doc.createdBy) {
74
+ doc.createdBy = currentUser.id;
75
+ }
76
+ if (hasUpdatedBy) {
77
+ doc.updatedBy = currentUser.id;
78
+ }
79
+ }
80
+ });
81
+ schema.pre('bulkWrite', function (ops) {
82
+ const currentUser = request_context_service_1.RequestContext.getCurrentUser();
83
+ if (!currentUser?.id)
84
+ return;
85
+ for (const op of ops) {
86
+ if ('insertOne' in op) {
87
+ if (hasCreatedBy && !op.insertOne.document.createdBy) {
88
+ op.insertOne.document.createdBy = currentUser.id;
89
+ }
90
+ if (hasUpdatedBy) {
91
+ op.insertOne.document.updatedBy = currentUser.id;
92
+ }
93
+ }
94
+ else if ('updateOne' in op || 'updateMany' in op) {
95
+ const update = 'updateOne' in op ? op.updateOne.update : op.updateMany.update;
96
+ if (!update)
97
+ continue;
98
+ if (hasUpdatedBy) {
99
+ update['updatedBy'] = currentUser.id;
100
+ if (update.$set) {
101
+ update.$set['updatedBy'] = currentUser.id;
102
+ }
103
+ }
104
+ if (hasCreatedBy && !update['createdBy'] && !update.$set?.['createdBy']) {
105
+ if (!update.$setOnInsert)
106
+ update.$setOnInsert = {};
107
+ if (!update.$setOnInsert['createdBy']) {
108
+ update.$setOnInsert['createdBy'] = currentUser.id;
109
+ }
110
+ }
111
+ }
112
+ else if ('replaceOne' in op) {
113
+ if (hasUpdatedBy) {
114
+ op.replaceOne.replacement['updatedBy'] = currentUser.id;
115
+ }
116
+ if (hasCreatedBy && !op.replaceOne.replacement['createdBy']) {
117
+ op.replaceOne.replacement['createdBy'] = currentUser.id;
118
+ }
119
+ }
120
+ }
121
+ });
50
122
  }
51
123
  //# sourceMappingURL=mongoose-audit-fields.plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mongoose-audit-fields.plugin.js","sourceRoot":"","sources":["../../../../src/core/common/plugins/mongoose-audit-fields.plugin.ts"],"names":[],"mappings":";;AAcA,8DA2DC;AAzED,iFAAqE;AAcrE,SAAgB,yBAAyB,CAAC,MAAM;IAC9C,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAGhD,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAGD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE;QACjB,MAAM,WAAW,GAAG,wCAAc,CAAC,cAAc,EAAE,CAAC;QACpD,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,YAAY,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAGH,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG;YACjB,MAAM,WAAW,GAAG,wCAAc,CAAC,cAAc,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAGD,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;YAC5C,CAAC;YAID,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBACzB,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;gBAC3B,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"mongoose-audit-fields.plugin.js","sourceRoot":"","sources":["../../../../src/core/common/plugins/mongoose-audit-fields.plugin.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,41 @@ function mongoosePasswordPlugin(schema) {
23
23
  schema.pre('updateMany', async function () {
24
24
  await hashUpdatePassword(this.getUpdate());
25
25
  });
26
+ schema.pre('replaceOne', async function () {
27
+ await hashUpdatePassword(this.getUpdate());
28
+ });
29
+ schema.pre('findOneAndReplace', async function () {
30
+ await hashUpdatePassword(this.getUpdate());
31
+ });
32
+ schema.pre('insertMany', async function (docs) {
33
+ if (!Array.isArray(docs))
34
+ return;
35
+ for (const doc of docs) {
36
+ if (doc.password) {
37
+ doc.password = await hashPassword(doc.password);
38
+ }
39
+ }
40
+ });
41
+ schema.pre('bulkWrite', async function (ops) {
42
+ for (const op of ops) {
43
+ if ('insertOne' in op) {
44
+ if (op.insertOne.document?.password) {
45
+ op.insertOne.document.password = await hashPassword(op.insertOne.document.password);
46
+ }
47
+ }
48
+ else if ('updateOne' in op) {
49
+ await hashUpdatePassword(op.updateOne.update);
50
+ }
51
+ else if ('updateMany' in op) {
52
+ await hashUpdatePassword(op.updateMany.update);
53
+ }
54
+ else if ('replaceOne' in op) {
55
+ if (op.replaceOne.replacement?.password) {
56
+ op.replaceOne.replacement.password = await hashPassword(op.replaceOne.replacement.password);
57
+ }
58
+ }
59
+ }
60
+ });
26
61
  }
27
62
  async function hashUpdatePassword(update) {
28
63
  if (!update) {
@@ -1 +1 @@
1
- {"version":3,"file":"mongoose-password.plugin.js","sourceRoot":"","sources":["../../../../src/core/common/plugins/mongoose-password.plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongoose-password.plugin.js","sourceRoot":"","sources":["../../../../src/core/common/plugins/mongoose-password.plugin.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,64 @@ function mongooseRoleGuardPlugin(schema) {
32
32
  schema.pre('updateMany', function () {
33
33
  handleUpdateRoleGuard(this.getUpdate());
34
34
  });
35
+ schema.pre('replaceOne', function () {
36
+ handleUpdateRoleGuard(this.getUpdate());
37
+ });
38
+ schema.pre('findOneAndReplace', function () {
39
+ handleUpdateRoleGuard(this.getUpdate());
40
+ });
41
+ schema.pre('insertMany', function (docs) {
42
+ if (!Array.isArray(docs))
43
+ return;
44
+ if (!docs.some((doc) => doc.roles?.length > 0))
45
+ return;
46
+ if (isRoleChangeAllowed())
47
+ return;
48
+ const currentUser = request_context_service_1.RequestContext.getCurrentUser();
49
+ logger.debug(`Stripped unauthorized roles from insertMany by user ${currentUser?.id || 'unknown'}`);
50
+ for (const doc of docs) {
51
+ if (doc.roles) {
52
+ doc.roles = [];
53
+ }
54
+ }
55
+ });
56
+ schema.pre('bulkWrite', function (ops) {
57
+ const hasAnyRoleChange = ops.some((op) => {
58
+ if ('insertOne' in op)
59
+ return !!op.insertOne.document?.roles?.length;
60
+ if ('updateOne' in op)
61
+ return hasRolesInUpdate(op.updateOne.update);
62
+ if ('updateMany' in op)
63
+ return hasRolesInUpdate(op.updateMany.update);
64
+ if ('replaceOne' in op)
65
+ return !!op.replaceOne.replacement?.roles?.length;
66
+ return false;
67
+ });
68
+ if (!hasAnyRoleChange)
69
+ return;
70
+ if (isRoleChangeAllowed())
71
+ return;
72
+ const currentUser = request_context_service_1.RequestContext.getCurrentUser();
73
+ logger.debug(`Stripped unauthorized roles from bulkWrite by user ${currentUser?.id || 'unknown'}`);
74
+ for (const op of ops) {
75
+ if ('insertOne' in op) {
76
+ if (op.insertOne.document?.roles) {
77
+ op.insertOne.document.roles = [];
78
+ }
79
+ }
80
+ else if ('updateOne' in op) {
81
+ handleUpdateRoleGuard(op.updateOne.update);
82
+ }
83
+ else if ('updateMany' in op) {
84
+ handleUpdateRoleGuard(op.updateMany.update);
85
+ }
86
+ else if ('replaceOne' in op) {
87
+ if (op.replaceOne.replacement?.roles) {
88
+ delete op.replaceOne.replacement.roles;
89
+ }
90
+ }
91
+ }
92
+ });
35
93
  }
36
94
  function isRoleChangeAllowed() {
37
95
  const currentUser = request_context_service_1.RequestContext.getCurrentUser();
@@ -53,6 +111,9 @@ function isRoleChangeAllowed() {
53
111
  }
54
112
  return false;
55
113
  }
114
+ function hasRolesInUpdate(update) {
115
+ return !!(update?.roles || update?.$set?.roles || update?.$push?.roles || update?.$addToSet?.roles);
116
+ }
56
117
  function handleUpdateRoleGuard(update) {
57
118
  if (!update) {
58
119
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"mongoose-role-guard.plugin.js","sourceRoot":"","sources":["../../../../src/core/common/plugins/mongoose-role-guard.plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongoose-role-guard.plugin.js","sourceRoot":"","sources":["../../../../src/core/common/plugins/mongoose-role-guard.plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function mongooseTenantPlugin(schema: any): void;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mongooseTenantPlugin = mongooseTenantPlugin;
4
+ const config_service_1 = require("../services/config.service");
5
+ const request_context_service_1 = require("../services/request-context.service");
6
+ function mongooseTenantPlugin(schema) {
7
+ if (!schema.path('tenantId')) {
8
+ return;
9
+ }
10
+ schema.index({ tenantId: 1 });
11
+ const queryHooks = [
12
+ 'find',
13
+ 'findOne',
14
+ 'findOneAndUpdate',
15
+ 'findOneAndDelete',
16
+ 'findOneAndReplace',
17
+ 'countDocuments',
18
+ 'distinct',
19
+ 'updateOne',
20
+ 'updateMany',
21
+ 'deleteOne',
22
+ 'deleteMany',
23
+ 'replaceOne',
24
+ ];
25
+ for (const hookName of queryHooks) {
26
+ schema.pre(hookName, function () {
27
+ const modelName = this.model?.modelName;
28
+ const tenantId = resolveTenantId(modelName);
29
+ if (tenantId !== undefined) {
30
+ this.where({ tenantId });
31
+ }
32
+ });
33
+ }
34
+ schema.pre('save', function () {
35
+ if (this.isNew && !this['tenantId']) {
36
+ const modelName = this.constructor.modelName;
37
+ const tenantId = resolveTenantId(modelName);
38
+ if (tenantId) {
39
+ this['tenantId'] = tenantId;
40
+ }
41
+ }
42
+ });
43
+ schema.pre('insertMany', function (docs) {
44
+ const modelName = this.modelName;
45
+ const tenantId = resolveTenantId(modelName);
46
+ if (tenantId && Array.isArray(docs)) {
47
+ for (const doc of docs) {
48
+ if (!doc.tenantId) {
49
+ doc.tenantId = tenantId;
50
+ }
51
+ }
52
+ }
53
+ });
54
+ schema.pre('bulkWrite', function (ops) {
55
+ const modelName = this.modelName;
56
+ const tenantId = resolveTenantId(modelName);
57
+ if (tenantId === undefined)
58
+ return;
59
+ for (const op of ops) {
60
+ if ('insertOne' in op) {
61
+ if (tenantId && !op.insertOne.document.tenantId) {
62
+ op.insertOne.document.tenantId = tenantId;
63
+ }
64
+ }
65
+ else if ('updateOne' in op) {
66
+ op.updateOne.filter = { ...op.updateOne.filter, tenantId };
67
+ }
68
+ else if ('updateMany' in op) {
69
+ op.updateMany.filter = { ...op.updateMany.filter, tenantId };
70
+ }
71
+ else if ('replaceOne' in op) {
72
+ op.replaceOne.filter = { ...op.replaceOne.filter, tenantId };
73
+ }
74
+ else if ('deleteOne' in op) {
75
+ op.deleteOne.filter = { ...op.deleteOne.filter, tenantId };
76
+ }
77
+ else if ('deleteMany' in op) {
78
+ op.deleteMany.filter = { ...op.deleteMany.filter, tenantId };
79
+ }
80
+ }
81
+ });
82
+ schema.pre('aggregate', function () {
83
+ const modelName = this._model?.modelName;
84
+ const tenantId = resolveTenantId(modelName);
85
+ if (tenantId !== undefined) {
86
+ this.pipeline().unshift({ $match: { tenantId } });
87
+ }
88
+ });
89
+ }
90
+ function resolveTenantId(modelName) {
91
+ const mtConfig = config_service_1.ConfigService.configFastButReadOnly?.multiTenancy;
92
+ if (!mtConfig || mtConfig.enabled === false)
93
+ return undefined;
94
+ const context = request_context_service_1.RequestContext.get();
95
+ if (!context)
96
+ return undefined;
97
+ if (context.bypassTenantGuard)
98
+ return undefined;
99
+ if (modelName && mtConfig.excludeSchemas?.includes(modelName))
100
+ return undefined;
101
+ const tenantId = context.tenantId;
102
+ if (tenantId)
103
+ return tenantId;
104
+ if (context.currentUser)
105
+ return null;
106
+ return undefined;
107
+ }
108
+ //# sourceMappingURL=mongoose-tenant.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongoose-tenant.plugin.js","sourceRoot":"","sources":["../../../../src/core/common/plugins/mongoose-tenant.plugin.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export interface IRequestContext {
6
6
  };
7
7
  language?: string;
8
8
  bypassRoleGuard?: boolean;
9
+ bypassTenantGuard?: boolean;
10
+ tenantId?: string;
9
11
  }
10
12
  export declare class RequestContext {
11
13
  private static storage;
@@ -15,4 +17,7 @@ export declare class RequestContext {
15
17
  static getLanguage(): string | undefined;
16
18
  static isBypassRoleGuard(): boolean;
17
19
  static runWithBypassRoleGuard<T>(fn: () => T): T;
20
+ static getTenantId(): string | undefined;
21
+ static isBypassTenantGuard(): boolean;
22
+ static runWithBypassTenantGuard<T>(fn: () => T): T;
18
23
  }
@@ -27,6 +27,20 @@ class RequestContext {
27
27
  };
28
28
  return this.storage.run(context, fn);
29
29
  }
30
+ static getTenantId() {
31
+ return this.storage.getStore()?.tenantId;
32
+ }
33
+ static isBypassTenantGuard() {
34
+ return this.storage.getStore()?.bypassTenantGuard === true;
35
+ }
36
+ static runWithBypassTenantGuard(fn) {
37
+ const currentStore = this.storage.getStore();
38
+ const context = {
39
+ ...currentStore,
40
+ bypassTenantGuard: true,
41
+ };
42
+ return this.storage.run(context, fn);
43
+ }
30
44
  }
31
45
  exports.RequestContext = RequestContext;
32
46
  //# sourceMappingURL=request-context.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/request-context.service.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAkBhD,MAAa,cAAc;IACjB,MAAM,CAAC,OAAO,GAAG,IAAI,+BAAiB,EAAmB,CAAC;IAElE,MAAM,CAAC,GAAG,CAAI,OAAwB,EAAE,EAAW;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,GAAG;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC;IAC3C,CAAC;IAKD,MAAM,CAAC,iBAAiB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3D,CAAC;IAkBD,MAAM,CAAC,sBAAsB,CAAI,EAAW;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAoB;YAC/B,GAAG,YAAY;YACf,eAAe,EAAE,IAAI;SACtB,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;;AAjDH,wCAkDC"}
1
+ {"version":3,"file":"request-context.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/request-context.service.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAsBhD,MAAa,cAAc;IACjB,MAAM,CAAC,OAAO,GAAG,IAAI,+BAAiB,EAAmB,CAAC;IAElE,MAAM,CAAC,GAAG,CAAI,OAAwB,EAAE,EAAW;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,GAAG;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC;IAC3C,CAAC;IAKD,MAAM,CAAC,iBAAiB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3D,CAAC;IAkBD,MAAM,CAAC,sBAAsB,CAAI,EAAW;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAoB;YAC/B,GAAG,YAAY;YACf,eAAe,EAAE,IAAI;SACtB,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7D,CAAC;IAkBD,MAAM,CAAC,wBAAwB,CAAI,EAAW;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAoB;YAC/B,GAAG,YAAY;YACf,iBAAiB,EAAE,IAAI;SACxB,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;;AAlFH,wCAmFC"}
@@ -27,6 +27,7 @@ const mongoose_id_plugin_1 = require("./core/common/plugins/mongoose-id.plugin")
27
27
  const mongoose_audit_fields_plugin_1 = require("./core/common/plugins/mongoose-audit-fields.plugin");
28
28
  const mongoose_password_plugin_1 = require("./core/common/plugins/mongoose-password.plugin");
29
29
  const mongoose_role_guard_plugin_1 = require("./core/common/plugins/mongoose-role-guard.plugin");
30
+ const mongoose_tenant_plugin_1 = require("./core/common/plugins/mongoose-tenant.plugin");
30
31
  const config_service_1 = require("./core/common/services/config.service");
31
32
  const email_service_1 = require("./core/common/services/email.service");
32
33
  const mailjet_service_1 = require("./core/common/services/mailjet.service");
@@ -119,6 +120,9 @@ let CoreModule = class CoreModule {
119
120
  if (config.security?.mongooseAuditFieldsPlugin !== false) {
120
121
  connection.plugin(mongoose_audit_fields_plugin_1.mongooseAuditFieldsPlugin);
121
122
  }
123
+ if (config.multiTenancy && config.multiTenancy.enabled !== false) {
124
+ connection.plugin(mongoose_tenant_plugin_1.mongooseTenantPlugin);
125
+ }
122
126
  return connection;
123
127
  };
124
128
  const jwtConfig = config.jwt;
@@ -1 +1 @@
1
- {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -68,6 +68,7 @@ export * from './core/common/plugins/mongoose-id.plugin';
68
68
  export * from './core/common/plugins/mongoose-audit-fields.plugin';
69
69
  export * from './core/common/plugins/mongoose-password.plugin';
70
70
  export * from './core/common/plugins/mongoose-role-guard.plugin';
71
+ export * from './core/common/plugins/mongoose-tenant.plugin';
71
72
  export * from './core/common/scalars/any.scalar';
72
73
  export * from './core/common/scalars/date-timestamp.scalar';
73
74
  export * from './core/common/scalars/date.scalar';
package/dist/index.js CHANGED
@@ -83,6 +83,7 @@ __exportStar(require("./core/common/plugins/mongoose-id.plugin"), exports);
83
83
  __exportStar(require("./core/common/plugins/mongoose-audit-fields.plugin"), exports);
84
84
  __exportStar(require("./core/common/plugins/mongoose-password.plugin"), exports);
85
85
  __exportStar(require("./core/common/plugins/mongoose-role-guard.plugin"), exports);
86
+ __exportStar(require("./core/common/plugins/mongoose-tenant.plugin"), exports);
86
87
  __exportStar(require("./core/common/scalars/any.scalar"), exports);
87
88
  __exportStar(require("./core/common/scalars/date-timestamp.scalar"), exports);
88
89
  __exportStar(require("./core/common/scalars/date.scalar"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}