@lenne.tech/nest-server 11.21.0 → 11.21.2
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/README.md +444 -100
- package/dist/core/common/helpers/input.helper.js +11 -8
- package/dist/core/common/helpers/input.helper.js.map +1 -1
- package/dist/core/common/interceptors/check-security.interceptor.js +5 -7
- package/dist/core/common/interceptors/check-security.interceptor.js.map +1 -1
- package/dist/core/common/interfaces/server-options.interface.d.ts +2 -0
- package/dist/core/common/services/email.service.d.ts +5 -1
- package/dist/core/common/services/email.service.js +16 -2
- package/dist/core/common/services/email.service.js.map +1 -1
- package/dist/core/common/services/request-context.service.js +6 -0
- package/dist/core/common/services/request-context.service.js.map +1 -1
- package/dist/core/modules/auth/tokens.decorator.d.ts +1 -1
- package/dist/core/modules/better-auth/core-better-auth-user.mapper.d.ts +6 -0
- package/dist/core/modules/better-auth/core-better-auth-user.mapper.js +52 -17
- package/dist/core/modules/better-auth/core-better-auth-user.mapper.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.service.d.ts +3 -1
- package/dist/core/modules/better-auth/core-better-auth.service.js +14 -0
- package/dist/core/modules/better-auth/core-better-auth.service.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant.guard.d.ts +16 -2
- package/dist/core/modules/tenant/core-tenant.guard.js +168 -22
- package/dist/core/modules/tenant/core-tenant.guard.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant.service.d.ts +3 -1
- package/dist/core/modules/tenant/core-tenant.service.js +14 -4
- package/dist/core/modules/tenant/core-tenant.service.js.map +1 -1
- package/dist/core/modules/user/core-user.service.js +12 -1
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +32 -25
- package/src/core/common/helpers/input.helper.ts +24 -9
- package/src/core/common/interceptors/check-security.interceptor.ts +10 -11
- package/src/core/common/interfaces/server-options.interface.ts +45 -0
- package/src/core/common/services/email.service.ts +26 -5
- package/src/core/common/services/request-context.service.ts +8 -0
- package/src/core/modules/better-auth/README.md +20 -1
- package/src/core/modules/better-auth/core-better-auth-user.mapper.ts +86 -21
- package/src/core/modules/better-auth/core-better-auth.service.ts +27 -2
- package/src/core/modules/tenant/INTEGRATION-CHECKLIST.md +20 -1
- package/src/core/modules/tenant/README.md +71 -2
- package/src/core/modules/tenant/core-tenant.guard.ts +304 -27
- package/src/core/modules/tenant/core-tenant.service.ts +13 -4
- package/src/core/modules/user/core-user.service.ts +17 -1
|
@@ -1,13 +1,27 @@
|
|
|
1
|
-
import { CanActivate, ExecutionContext } from '@nestjs/common';
|
|
1
|
+
import { CanActivate, ExecutionContext, OnModuleDestroy } from '@nestjs/common';
|
|
2
2
|
import { Reflector } from '@nestjs/core';
|
|
3
3
|
import { Model } from 'mongoose';
|
|
4
4
|
import { CoreTenantMemberModel } from './core-tenant-member.model';
|
|
5
|
-
export declare class CoreTenantGuard implements CanActivate {
|
|
5
|
+
export declare class CoreTenantGuard implements CanActivate, OnModuleDestroy {
|
|
6
6
|
private readonly reflector;
|
|
7
7
|
private readonly memberModel;
|
|
8
8
|
private readonly logger;
|
|
9
|
+
private readonly membershipCache;
|
|
10
|
+
private readonly tenantIdsCache;
|
|
11
|
+
private cacheTtlMs;
|
|
12
|
+
private static readonly MAX_CACHE_SIZE;
|
|
13
|
+
private cleanupInterval;
|
|
14
|
+
private lastSeenConfig;
|
|
9
15
|
constructor(reflector: Reflector, memberModel: Model<CoreTenantMemberModel>);
|
|
16
|
+
onModuleDestroy(): void;
|
|
17
|
+
invalidateUser(userId: string): void;
|
|
18
|
+
invalidateAll(): void;
|
|
10
19
|
canActivate(context: ExecutionContext): Promise<boolean>;
|
|
11
20
|
private resolveUserTenantIds;
|
|
12
21
|
private getRequest;
|
|
22
|
+
private findMembershipCached;
|
|
23
|
+
private evictIfOverCapacity;
|
|
24
|
+
private evictExpired;
|
|
25
|
+
private skipWithUserRoleCheck;
|
|
26
|
+
private isBetterAuthHandler;
|
|
13
27
|
}
|
|
@@ -24,19 +24,60 @@ const config_service_1 = require("../../common/services/config.service");
|
|
|
24
24
|
const core_tenant_decorators_1 = require("./core-tenant.decorators");
|
|
25
25
|
const core_tenant_enums_1 = require("./core-tenant.enums");
|
|
26
26
|
const core_tenant_helpers_1 = require("./core-tenant.helpers");
|
|
27
|
-
let CoreTenantGuard =
|
|
27
|
+
let CoreTenantGuard = class CoreTenantGuard {
|
|
28
|
+
static { CoreTenantGuard_1 = this; }
|
|
28
29
|
reflector;
|
|
29
30
|
memberModel;
|
|
30
31
|
logger = new common_1.Logger(CoreTenantGuard_1.name);
|
|
32
|
+
membershipCache = new Map();
|
|
33
|
+
tenantIdsCache = new Map();
|
|
34
|
+
cacheTtlMs = 30_000;
|
|
35
|
+
static MAX_CACHE_SIZE = 500;
|
|
36
|
+
cleanupInterval = null;
|
|
37
|
+
lastSeenConfig = null;
|
|
31
38
|
constructor(reflector, memberModel) {
|
|
32
39
|
this.reflector = reflector;
|
|
33
40
|
this.memberModel = memberModel;
|
|
41
|
+
this.cleanupInterval = setInterval(() => this.evictExpired(), 60_000);
|
|
42
|
+
if (this.cleanupInterval.unref) {
|
|
43
|
+
this.cleanupInterval.unref();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
onModuleDestroy() {
|
|
47
|
+
if (this.cleanupInterval) {
|
|
48
|
+
clearInterval(this.cleanupInterval);
|
|
49
|
+
this.cleanupInterval = null;
|
|
50
|
+
}
|
|
51
|
+
this.membershipCache.clear();
|
|
52
|
+
this.tenantIdsCache.clear();
|
|
53
|
+
}
|
|
54
|
+
invalidateUser(userId) {
|
|
55
|
+
for (const key of this.membershipCache.keys()) {
|
|
56
|
+
if (key.startsWith(`${userId}:`)) {
|
|
57
|
+
this.membershipCache.delete(key);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
for (const key of this.tenantIdsCache.keys()) {
|
|
61
|
+
if (key === userId || key.startsWith(`${userId}:`)) {
|
|
62
|
+
this.tenantIdsCache.delete(key);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
invalidateAll() {
|
|
67
|
+
this.membershipCache.clear();
|
|
68
|
+
this.tenantIdsCache.clear();
|
|
34
69
|
}
|
|
35
70
|
async canActivate(context) {
|
|
36
71
|
const config = config_service_1.ConfigService.configFastButReadOnly?.multiTenancy;
|
|
37
72
|
if (!config || config.enabled === false) {
|
|
38
73
|
return true;
|
|
39
74
|
}
|
|
75
|
+
if (this.lastSeenConfig !== config) {
|
|
76
|
+
this.lastSeenConfig = config;
|
|
77
|
+
const isTestEnv = process.env.VITEST === 'true' || process.env.NODE_ENV === 'test' || process.env.NODE_ENV === 'e2e';
|
|
78
|
+
this.cacheTtlMs = config.cacheTtlMs ?? (isTestEnv ? 0 : 30_000);
|
|
79
|
+
this.invalidateAll();
|
|
80
|
+
}
|
|
40
81
|
const request = this.getRequest(context);
|
|
41
82
|
if (!request) {
|
|
42
83
|
return true;
|
|
@@ -46,42 +87,42 @@ let CoreTenantGuard = CoreTenantGuard_1 = class CoreTenantGuard {
|
|
|
46
87
|
const headerTenantId = rawHeader && typeof rawHeader === 'string' && rawHeader.length <= 128 ? rawHeader.trim() : undefined;
|
|
47
88
|
const rolesMetadata = this.reflector.getAll('roles', [context.getHandler(), context.getClass()]);
|
|
48
89
|
const roles = (0, core_tenant_helpers_1.mergeRolesMetadata)(rolesMetadata);
|
|
49
|
-
const checkableRoles = roles.filter((r) => !(0, core_tenant_helpers_1.isSystemRole)(r));
|
|
50
|
-
const minRequiredLevel = (0, core_tenant_helpers_1.getMinRequiredLevel)(checkableRoles);
|
|
51
90
|
const user = request.user;
|
|
52
91
|
const adminBypass = config.adminBypass !== false;
|
|
53
92
|
const isAdmin = adminBypass && user?.roles?.includes(role_enum_1.RoleEnum.ADMIN);
|
|
54
|
-
const
|
|
93
|
+
const hasNonSystemRoles = roles.some((r) => !(0, core_tenant_helpers_1.isSystemRole)(r));
|
|
94
|
+
const checkableRoles = hasNonSystemRoles ? roles.filter((r) => !(0, core_tenant_helpers_1.isSystemRole)(r)) : [];
|
|
95
|
+
const minRequiredLevel = checkableRoles.length > 0 ? (0, core_tenant_helpers_1.getMinRequiredLevel)(checkableRoles) : undefined;
|
|
96
|
+
const hasSkipDecorator = this.reflector.getAllAndOverride(core_tenant_decorators_1.SKIP_TENANT_CHECK_KEY, [
|
|
55
97
|
context.getHandler(),
|
|
56
98
|
context.getClass(),
|
|
57
99
|
]);
|
|
58
|
-
if (
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
100
|
+
if (hasSkipDecorator) {
|
|
101
|
+
return this.skipWithUserRoleCheck(checkableRoles, user, isAdmin);
|
|
102
|
+
}
|
|
103
|
+
if (!hasSkipDecorator && !headerTenantId && this.isBetterAuthHandler(context)) {
|
|
104
|
+
const betterAuthConfig = config_service_1.ConfigService.configFastButReadOnly?.betterAuth;
|
|
105
|
+
const shouldSkip = betterAuthConfig !== null && betterAuthConfig !== undefined && typeof betterAuthConfig === 'object'
|
|
106
|
+
? betterAuthConfig.skipTenantCheck !== false
|
|
107
|
+
: betterAuthConfig !== false;
|
|
108
|
+
if (shouldSkip) {
|
|
109
|
+
this.logger.debug(`BetterAuth auto-skip: ${context.getClass().name}::${context.getHandler().name} — no X-Tenant-Id header, skipping tenant validation`);
|
|
110
|
+
return this.skipWithUserRoleCheck(checkableRoles, user, isAdmin);
|
|
63
111
|
}
|
|
64
|
-
return true;
|
|
65
112
|
}
|
|
66
113
|
if (headerTenantId) {
|
|
67
114
|
if (isAdmin) {
|
|
68
115
|
request.tenantId = headerTenantId;
|
|
69
116
|
request.isAdminBypass = true;
|
|
70
117
|
const requiredRole = checkableRoles.length > 0 ? checkableRoles.join(',') : 'none';
|
|
71
|
-
|
|
118
|
+
const safeTenantId = headerTenantId.replace(/[\r\n\t]/g, '_');
|
|
119
|
+
this.logger.log(`Admin bypass: user ${user.id} accessing tenant ${safeTenantId} (required: ${requiredRole})`);
|
|
72
120
|
return true;
|
|
73
121
|
}
|
|
74
122
|
if (!user) {
|
|
75
123
|
throw new common_1.ForbiddenException('Authentication required for tenant access');
|
|
76
124
|
}
|
|
77
|
-
const membership = await this.
|
|
78
|
-
.findOne({
|
|
79
|
-
status: core_tenant_enums_1.TenantMemberStatus.ACTIVE,
|
|
80
|
-
tenant: headerTenantId,
|
|
81
|
-
user: user.id,
|
|
82
|
-
})
|
|
83
|
-
.lean()
|
|
84
|
-
.exec();
|
|
125
|
+
const membership = await this.findMembershipCached(user.id, headerTenantId);
|
|
85
126
|
if (!membership) {
|
|
86
127
|
throw new common_1.ForbiddenException('Not a member of this tenant');
|
|
87
128
|
}
|
|
@@ -118,17 +159,29 @@ let CoreTenantGuard = CoreTenantGuard_1 = class CoreTenantGuard {
|
|
|
118
159
|
if (request.tenantIds) {
|
|
119
160
|
return;
|
|
120
161
|
}
|
|
162
|
+
const userId = request.user.id;
|
|
163
|
+
const ttl = this.cacheTtlMs;
|
|
164
|
+
if (ttl > 0) {
|
|
165
|
+
const cacheKey = minLevel !== undefined ? `${userId}:${minLevel}` : userId;
|
|
166
|
+
const now = Date.now();
|
|
167
|
+
const cached = this.tenantIdsCache.get(cacheKey);
|
|
168
|
+
if (cached && now < cached.expiresAt) {
|
|
169
|
+
request.tenantIds = cached.ids;
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
121
173
|
const memberships = await this.memberModel
|
|
122
174
|
.find({
|
|
123
175
|
status: core_tenant_enums_1.TenantMemberStatus.ACTIVE,
|
|
124
|
-
user:
|
|
176
|
+
user: userId,
|
|
125
177
|
})
|
|
126
178
|
.select('tenant role')
|
|
127
179
|
.lean()
|
|
128
180
|
.exec();
|
|
181
|
+
let ids;
|
|
129
182
|
if (minLevel !== undefined) {
|
|
130
183
|
const hierarchy = (0, core_tenant_helpers_1.getRoleHierarchy)();
|
|
131
|
-
|
|
184
|
+
ids = memberships
|
|
132
185
|
.filter((m) => {
|
|
133
186
|
const level = hierarchy[m.role] ?? 0;
|
|
134
187
|
return level >= minLevel;
|
|
@@ -136,7 +189,13 @@ let CoreTenantGuard = CoreTenantGuard_1 = class CoreTenantGuard {
|
|
|
136
189
|
.map((m) => m.tenant);
|
|
137
190
|
}
|
|
138
191
|
else {
|
|
139
|
-
|
|
192
|
+
ids = memberships.map((m) => m.tenant);
|
|
193
|
+
}
|
|
194
|
+
request.tenantIds = ids;
|
|
195
|
+
if (ttl > 0) {
|
|
196
|
+
const cacheKey = minLevel !== undefined ? `${userId}:${minLevel}` : userId;
|
|
197
|
+
this.evictIfOverCapacity(this.tenantIdsCache);
|
|
198
|
+
this.tenantIdsCache.set(cacheKey, { expiresAt: Date.now() + ttl, ids });
|
|
140
199
|
}
|
|
141
200
|
}
|
|
142
201
|
getRequest(context) {
|
|
@@ -151,6 +210,93 @@ let CoreTenantGuard = CoreTenantGuard_1 = class CoreTenantGuard {
|
|
|
151
210
|
return null;
|
|
152
211
|
}
|
|
153
212
|
}
|
|
213
|
+
async findMembershipCached(userId, tenantId) {
|
|
214
|
+
const ttl = this.cacheTtlMs;
|
|
215
|
+
if (ttl <= 0) {
|
|
216
|
+
return this.memberModel
|
|
217
|
+
.findOne({ status: core_tenant_enums_1.TenantMemberStatus.ACTIVE, tenant: tenantId, user: userId })
|
|
218
|
+
.lean()
|
|
219
|
+
.exec();
|
|
220
|
+
}
|
|
221
|
+
const key = `${userId}:${tenantId}`;
|
|
222
|
+
const now = Date.now();
|
|
223
|
+
const cached = this.membershipCache.get(key);
|
|
224
|
+
if (cached && now < cached.expiresAt) {
|
|
225
|
+
return cached.result;
|
|
226
|
+
}
|
|
227
|
+
const result = (await this.memberModel
|
|
228
|
+
.findOne({
|
|
229
|
+
status: core_tenant_enums_1.TenantMemberStatus.ACTIVE,
|
|
230
|
+
tenant: tenantId,
|
|
231
|
+
user: userId,
|
|
232
|
+
})
|
|
233
|
+
.lean()
|
|
234
|
+
.exec());
|
|
235
|
+
if (result) {
|
|
236
|
+
this.evictIfOverCapacity(this.membershipCache);
|
|
237
|
+
this.membershipCache.set(key, { expiresAt: now + ttl, result });
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
this.membershipCache.delete(key);
|
|
241
|
+
}
|
|
242
|
+
return result;
|
|
243
|
+
}
|
|
244
|
+
evictIfOverCapacity(cache) {
|
|
245
|
+
if (cache.size >= CoreTenantGuard_1.MAX_CACHE_SIZE) {
|
|
246
|
+
const deleteCount = Math.max(1, Math.floor(CoreTenantGuard_1.MAX_CACHE_SIZE * 0.1));
|
|
247
|
+
let deleted = 0;
|
|
248
|
+
for (const key of cache.keys()) {
|
|
249
|
+
if (deleted >= deleteCount)
|
|
250
|
+
break;
|
|
251
|
+
cache.delete(key);
|
|
252
|
+
deleted++;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
evictExpired() {
|
|
257
|
+
const now = Date.now();
|
|
258
|
+
for (const [key, entry] of this.membershipCache.entries()) {
|
|
259
|
+
if (now >= entry.expiresAt) {
|
|
260
|
+
this.membershipCache.delete(key);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
for (const [key, entry] of this.tenantIdsCache.entries()) {
|
|
264
|
+
if (now >= entry.expiresAt) {
|
|
265
|
+
this.tenantIdsCache.delete(key);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
skipWithUserRoleCheck(checkableRoles, user, isAdmin) {
|
|
270
|
+
if (checkableRoles.length > 0) {
|
|
271
|
+
if (!user) {
|
|
272
|
+
throw new common_1.ForbiddenException('Authentication required');
|
|
273
|
+
}
|
|
274
|
+
if (!isAdmin && !(0, core_tenant_helpers_1.checkRoleAccess)(checkableRoles, user.roles, undefined)) {
|
|
275
|
+
throw new common_1.ForbiddenException('Insufficient role');
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
return true;
|
|
279
|
+
}
|
|
280
|
+
isBetterAuthHandler(context) {
|
|
281
|
+
const handler = context.getClass();
|
|
282
|
+
try {
|
|
283
|
+
const { CoreBetterAuthController } = require('../better-auth/core-better-auth.controller');
|
|
284
|
+
if (handler === CoreBetterAuthController || handler.prototype instanceof CoreBetterAuthController) {
|
|
285
|
+
return true;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
}
|
|
290
|
+
try {
|
|
291
|
+
const { CoreBetterAuthResolver } = require('../better-auth/core-better-auth.resolver');
|
|
292
|
+
if (handler === CoreBetterAuthResolver || handler.prototype instanceof CoreBetterAuthResolver) {
|
|
293
|
+
return true;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
297
|
+
}
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
154
300
|
};
|
|
155
301
|
exports.CoreTenantGuard = CoreTenantGuard;
|
|
156
302
|
exports.CoreTenantGuard = CoreTenantGuard = CoreTenantGuard_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-tenant.guard.js","sourceRoot":"","sources":["../../../../src/core/modules/tenant/core-tenant.guard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-tenant.guard.js","sourceRoot":"","sources":["../../../../src/core/modules/tenant/core-tenant.guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Logger } from '@nestjs/common';
|
|
2
2
|
import { Model } from 'mongoose';
|
|
3
3
|
import { CoreTenantMemberModel } from './core-tenant-member.model';
|
|
4
|
+
import { CoreTenantGuard } from './core-tenant.guard';
|
|
4
5
|
export declare class CoreTenantService {
|
|
5
6
|
protected readonly memberModel: Model<CoreTenantMemberModel>;
|
|
7
|
+
protected readonly tenantGuard?: CoreTenantGuard;
|
|
6
8
|
protected readonly logger: Logger;
|
|
7
|
-
constructor(memberModel: Model<CoreTenantMemberModel
|
|
9
|
+
constructor(memberModel: Model<CoreTenantMemberModel>, tenantGuard?: CoreTenantGuard);
|
|
8
10
|
protected getHierarchy(): Record<string, number>;
|
|
9
11
|
protected getDefaultRole(): string;
|
|
10
12
|
protected getHighestRole(): string;
|
|
@@ -20,11 +20,14 @@ const mongoose_2 = require("mongoose");
|
|
|
20
20
|
const config_service_1 = require("../../common/services/config.service");
|
|
21
21
|
const request_context_service_1 = require("../../common/services/request-context.service");
|
|
22
22
|
const core_tenant_enums_1 = require("./core-tenant.enums");
|
|
23
|
+
const core_tenant_guard_1 = require("./core-tenant.guard");
|
|
23
24
|
let CoreTenantService = CoreTenantService_1 = class CoreTenantService {
|
|
24
25
|
memberModel;
|
|
26
|
+
tenantGuard;
|
|
25
27
|
logger = new common_1.Logger(CoreTenantService_1.name);
|
|
26
|
-
constructor(memberModel) {
|
|
28
|
+
constructor(memberModel, tenantGuard) {
|
|
27
29
|
this.memberModel = memberModel;
|
|
30
|
+
this.tenantGuard = tenantGuard;
|
|
28
31
|
}
|
|
29
32
|
getHierarchy() {
|
|
30
33
|
return config_service_1.ConfigService.configFastButReadOnly?.multiTenancy?.roleHierarchy ?? core_tenant_enums_1.DEFAULT_ROLE_HIERARCHY;
|
|
@@ -66,7 +69,7 @@ let CoreTenantService = CoreTenantService_1 = class CoreTenantService {
|
|
|
66
69
|
throw new common_1.BadRequestException('User is already an active member of this tenant');
|
|
67
70
|
}
|
|
68
71
|
return request_context_service_1.RequestContext.runWithBypassTenantGuard(async () => {
|
|
69
|
-
|
|
72
|
+
const result = (await this.memberModel
|
|
70
73
|
.findOneAndUpdate({ tenant: tenantId, user: userId }, {
|
|
71
74
|
invitedBy: invitedById,
|
|
72
75
|
joinedAt: new Date(),
|
|
@@ -74,7 +77,9 @@ let CoreTenantService = CoreTenantService_1 = class CoreTenantService {
|
|
|
74
77
|
status: core_tenant_enums_1.TenantMemberStatus.ACTIVE,
|
|
75
78
|
}, { new: true })
|
|
76
79
|
.lean()
|
|
77
|
-
.exec();
|
|
80
|
+
.exec());
|
|
81
|
+
this.tenantGuard?.invalidateUser(userId);
|
|
82
|
+
return result;
|
|
78
83
|
});
|
|
79
84
|
}
|
|
80
85
|
return request_context_service_1.RequestContext.runWithBypassTenantGuard(async () => {
|
|
@@ -86,6 +91,7 @@ let CoreTenantService = CoreTenantService_1 = class CoreTenantService {
|
|
|
86
91
|
tenant: tenantId,
|
|
87
92
|
user: userId,
|
|
88
93
|
});
|
|
94
|
+
this.tenantGuard?.invalidateUser(userId);
|
|
89
95
|
return doc.toObject();
|
|
90
96
|
});
|
|
91
97
|
}
|
|
@@ -105,6 +111,7 @@ let CoreTenantService = CoreTenantService_1 = class CoreTenantService {
|
|
|
105
111
|
if (!result) {
|
|
106
112
|
throw new common_1.NotFoundException('Membership not found');
|
|
107
113
|
}
|
|
114
|
+
this.tenantGuard?.invalidateUser(userId);
|
|
108
115
|
return result;
|
|
109
116
|
});
|
|
110
117
|
}
|
|
@@ -131,6 +138,7 @@ let CoreTenantService = CoreTenantService_1 = class CoreTenantService {
|
|
|
131
138
|
if (!result) {
|
|
132
139
|
throw new common_1.NotFoundException('Active membership not found');
|
|
133
140
|
}
|
|
141
|
+
this.tenantGuard?.invalidateUser(userId);
|
|
134
142
|
return result;
|
|
135
143
|
});
|
|
136
144
|
}
|
|
@@ -155,6 +163,8 @@ exports.CoreTenantService = CoreTenantService;
|
|
|
155
163
|
exports.CoreTenantService = CoreTenantService = CoreTenantService_1 = __decorate([
|
|
156
164
|
(0, common_1.Injectable)(),
|
|
157
165
|
__param(0, (0, mongoose_1.InjectModel)(core_tenant_enums_1.TENANT_MEMBER_MODEL_TOKEN)),
|
|
158
|
-
|
|
166
|
+
__param(1, (0, common_1.Optional)()),
|
|
167
|
+
__metadata("design:paramtypes", [mongoose_2.Model,
|
|
168
|
+
core_tenant_guard_1.CoreTenantGuard])
|
|
159
169
|
], CoreTenantService);
|
|
160
170
|
//# sourceMappingURL=core-tenant.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-tenant.service.js","sourceRoot":"","sources":["../../../../src/core/modules/tenant/core-tenant.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"core-tenant.service.js","sourceRoot":"","sources":["../../../../src/core/modules/tenant/core-tenant.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,7 +132,11 @@ class CoreUserService extends crud_service_1.CrudService {
|
|
|
132
132
|
throw new common_1.BadRequestException('Roles contains invalid values');
|
|
133
133
|
}
|
|
134
134
|
return this.process(async () => {
|
|
135
|
-
|
|
135
|
+
const user = await this.mainDbModel.findByIdAndUpdate(userId, { roles }).exec();
|
|
136
|
+
if (this.options?.betterAuthUserMapper && user?.iamId) {
|
|
137
|
+
this.options.betterAuthUserMapper.invalidateUserCache(user.iamId);
|
|
138
|
+
}
|
|
139
|
+
return user;
|
|
136
140
|
}, { serviceOptions });
|
|
137
141
|
}
|
|
138
142
|
async update(id, input, serviceOptions) {
|
|
@@ -159,6 +163,13 @@ class CoreUserService extends crud_service_1.CrudService {
|
|
|
159
163
|
this.userServiceLogger.warn(`Failed to sync password change to IAM for ${oldUser.email}: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
160
164
|
}
|
|
161
165
|
}
|
|
166
|
+
if (this.options?.betterAuthUserMapper && oldUser?.iamId) {
|
|
167
|
+
const rolesChanged = 'roles' in input;
|
|
168
|
+
const verifiedChanged = 'verified' in input || 'emailVerified' in input;
|
|
169
|
+
if (rolesChanged || verifiedChanged) {
|
|
170
|
+
this.options.betterAuthUserMapper.invalidateUserCache(oldUser.iamId);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
162
173
|
return updatedUser;
|
|
163
174
|
}
|
|
164
175
|
async delete(id, serviceOptions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-user.service.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.service.ts"],"names":[],"mappings":";;;AAAA,2CAA8G;AAC9G,iCAAkC;AAClC,iCAAkC;AAClC,yCAAmC;AAGnC,oEAAgG;AAGhG,qEAAiE;AAcjE,MAAsB,eAIpB,SAAQ,0BAAgD;IAI1B;IACT;IACS;IACA;IAKT;IAXF,iBAAiB,GAAG,IAAI,eAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAExE,YAC8B,aAA4B,EACrC,YAA0B,EACjB,WAAoC,EACpC,oBAAiD,EAK1D,OAAgC;QAEnD,KAAK,EAAE,CAAC;QAVoB,kBAAa,GAAb,aAAa,CAAe;QACrC,iBAAY,GAAZ,YAAY,CAAc;QACjB,gBAAW,GAAX,WAAW,CAAyB;QACpC,yBAAoB,GAApB,oBAAoB,CAA6B;QAK1D,YAAO,GAAP,OAAO,CAAyB;IAGrD,CAAC;IASQ,KAAK,CAAC,MAAM,CAAC,KAAU,EAAE,cAA+B;QAC/D,cAAc,GAAG,IAAA,6CAA8B,EAAC,cAAc,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EAAE,IAAI,EAAE,EAAE;YAEb,MAAM,aAAa,GAAG,cAAc,EAAE,WAAW,EAAE,GAAG,CAAC;YACvD,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC;gBACvC,GAAG,IAAI,CAAC,KAAK;gBACb,SAAS,EAAE,aAAa;gBACxB,SAAS,EAAE,aAAa;gBACxB,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;aAC1D,CAAC,CAAC;YAGH,IAAI,CAAC;gBACH,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5C,MAAM,IAAI,4BAAmB,CAAC,8BAA8B,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,qCAA4B,EAAE,CAAC;gBAC3C,CAAC;YACH,CAAC;YAGD,OAAO,WAAW,CAAC;QACrB,CAAC,EACD,EAAE,KAAK,EAAE,cAAc,EAAE,CAC1B,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,cAA+B;QAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,0BAAiB,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC1E,CAAC;IAaD,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,IAAI,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAa,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAGD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5E,OAAO,OAAuB,CAAC;IACjC,CAAC;IAKD,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,eAAgC;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEjF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,cAA+B;QAEzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,0BAAiB,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAChC,MAAM,IAAI,4BAAmB,CAAC,gCAAgC,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,IAAI,EAAE;YAET,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAE1G,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,CAAC,EACD,EAAE,QAAQ,EAAE,cAAc,EAAE,CAC7B,CAAC;IACJ,CAAC;IASD,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,WAAmB,EAAE,cAA+B;QAErF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,0BAAiB,CAAC,4CAA4C,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC;QAID,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QAE9F,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,IAAI,EAAE;YAGT,IAAI,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5F,WAAW,GAAG,IAAA,kBAAM,EAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YAGD,MAAM,WAAW,GAAG,MAAM,IAAA,0BAAW,EAAC,QAAQ,EAAE;gBAC9C,QAAQ,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC5C,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC,IAAI,EAAE,CAAC;YAIV,IAAI,IAAI,CAAC,OAAO,EAAE,oBAAoB,IAAI,uBAAuB,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACpF,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;gBAC3G,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAEf,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,4CAA4C,QAAQ,CAAC,KAAK,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC1H,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,WAAW,CAAC;QACrB,CAAC,EACD,EAAE,QAAQ,EAAE,cAAc,EAAE,CAC7B,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,6BAA6B,CAAC,KAAa,EAAE,cAA+B;QAEhF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,0BAAiB,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,IAAI,EAAE;YAET,QAAQ,CAAC,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAGrE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAGtB,OAAO,QAAQ,CAAC;QAClB,CAAC,EACD,EAAE,QAAQ,EAAE,cAAc,EAAE,CAC7B,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,KAAe,EAAE,cAA+B;QAE7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,4BAAmB,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC;QAGD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,4BAAmB,CAAC,+BAA+B,CAAC,CAAC;QACjE,CAAC;QAGD,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,IAAI,EAAE;YACT,
|
|
1
|
+
{"version":3,"file":"core-user.service.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.service.ts"],"names":[],"mappings":"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"}
|