@punks/backend-entity-manager 0.0.67 → 0.0.69
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/cjs/index.js +266 -52
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/integrations/repository/typeorm/queryBuilder.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/__test__/server/app/auth/auth.test-controller.d.ts +11 -0
- package/dist/cjs/types/platforms/nest/__test__/server/app/auth/services/auth.roles.service.d.ts +12 -0
- package/dist/cjs/types/platforms/nest/__test__/server/app/auth/{user.service.d.ts → services/auth.user.service.d.ts} +7 -7
- package/dist/cjs/types/platforms/nest/__test__/server/app/auth/services/auth.userRoles.service.d.ts +20 -0
- package/dist/cjs/types/platforms/nest/__test__/server/app/auth/services/index.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/roles/role.manager.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/roles/role.models.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/roles/role.query.d.ts +3 -2
- package/dist/cjs/types/platforms/nest/__test__/server/entities/userRoles/userRole.models.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/userRoles/userRole.query.d.ts +2 -1
- package/dist/cjs/types/platforms/nest/__test__/server/index.d.ts +2 -2
- package/dist/cjs/types/platforms/nest/__test__/tests/authentication/test_auth_guards.test.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/__test__/tests/authentication/test_auth_jwt.test.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/abstractions/index.d.ts +26 -4
- package/dist/cjs/types/platforms/nest/extensions/authentication/decorators/guards.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/decorators/index.d.ts +3 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/decorators/rolesService.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/decorators/symbols.d.ts +8 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/decorators/userRolesService.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/guards/auth.d.ts +13 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/guards/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-register/types.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/initializer/index.d.ts +5 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/middlewares/authentication/index.d.ts +10 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/module.d.ts +3 -2
- package/dist/cjs/types/platforms/nest/extensions/authentication/resolver/index.d.ts +7 -1
- package/dist/cjs/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +7 -2
- package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/abstractions/models.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/base/initializer/index.d.ts +6 -0
- package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/processors/providers.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/services/index.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/services/organization-initializer/index.d.ts +8 -0
- package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/services/providers.d.ts +3 -0
- package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/services/tenant-initializer/index.d.ts +8 -0
- package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/symbols/index.d.ts +10 -0
- package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/types/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/types/templates.d.ts +20 -0
- package/dist/esm/index.js +261 -53
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/integrations/repository/typeorm/queryBuilder.d.ts +1 -1
- package/dist/esm/types/platforms/nest/__test__/server/app/auth/auth.test-controller.d.ts +11 -0
- package/dist/esm/types/platforms/nest/__test__/server/app/auth/services/auth.roles.service.d.ts +12 -0
- package/dist/esm/types/platforms/nest/__test__/server/app/auth/{user.service.d.ts → services/auth.user.service.d.ts} +7 -7
- package/dist/esm/types/platforms/nest/__test__/server/app/auth/services/auth.userRoles.service.d.ts +20 -0
- package/dist/esm/types/platforms/nest/__test__/server/app/auth/services/index.d.ts +4 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/roles/role.manager.d.ts +1 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/roles/role.models.d.ts +1 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/roles/role.query.d.ts +3 -2
- package/dist/esm/types/platforms/nest/__test__/server/entities/userRoles/userRole.models.d.ts +2 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/userRoles/userRole.query.d.ts +2 -1
- package/dist/esm/types/platforms/nest/__test__/server/index.d.ts +2 -2
- package/dist/esm/types/platforms/nest/__test__/tests/authentication/test_auth_guards.test.d.ts +1 -0
- package/dist/esm/types/platforms/nest/__test__/tests/authentication/test_auth_jwt.test.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/abstractions/index.d.ts +26 -4
- package/dist/esm/types/platforms/nest/extensions/authentication/decorators/guards.d.ts +4 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/decorators/index.d.ts +3 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/decorators/rolesService.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/decorators/symbols.d.ts +8 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/decorators/userRolesService.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/guards/auth.d.ts +13 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/guards/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-register/types.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/initializer/index.d.ts +5 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/middlewares/authentication/index.d.ts +10 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/module.d.ts +3 -2
- package/dist/esm/types/platforms/nest/extensions/authentication/resolver/index.d.ts +7 -1
- package/dist/esm/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +7 -2
- package/dist/esm/types/platforms/nest/extensions/multi-tenancy/abstractions/models.d.ts +2 -0
- package/dist/esm/types/platforms/nest/extensions/multi-tenancy/base/initializer/index.d.ts +6 -0
- package/dist/esm/types/platforms/nest/extensions/multi-tenancy/processors/providers.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/multi-tenancy/services/index.d.ts +2 -0
- package/dist/esm/types/platforms/nest/extensions/multi-tenancy/services/organization-initializer/index.d.ts +8 -0
- package/dist/esm/types/platforms/nest/extensions/multi-tenancy/services/providers.d.ts +3 -0
- package/dist/esm/types/platforms/nest/extensions/multi-tenancy/services/tenant-initializer/index.d.ts +8 -0
- package/dist/esm/types/platforms/nest/extensions/multi-tenancy/symbols/index.d.ts +10 -0
- package/dist/esm/types/platforms/nest/extensions/multi-tenancy/types/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/multi-tenancy/types/templates.d.ts +20 -0
- package/dist/index.d.ts +70 -10
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var backendCore = require('@punks/backend-core');
|
|
6
6
|
var common = require('@nestjs/common');
|
|
7
7
|
var swagger = require('@nestjs/swagger');
|
|
8
|
+
var core = require('@nestjs/core');
|
|
8
9
|
var async_hooks = require('async_hooks');
|
|
9
10
|
var bcrypt = require('bcrypt');
|
|
10
11
|
var constants = require('@nestjs/common/constants');
|
|
@@ -13,7 +14,6 @@ var metadataScanner = require('@nestjs/core/metadata-scanner');
|
|
|
13
14
|
var jwt = require('@nestjs/jwt');
|
|
14
15
|
var eventEmitter = require('@nestjs/event-emitter');
|
|
15
16
|
var typeorm = require('typeorm');
|
|
16
|
-
var core = require('@nestjs/core');
|
|
17
17
|
var clientSes = require('@aws-sdk/client-ses');
|
|
18
18
|
var require$$2 = require('fs');
|
|
19
19
|
var mail = require('@sendgrid/mail');
|
|
@@ -320,10 +320,27 @@ __decorate([
|
|
|
320
320
|
|
|
321
321
|
const AuthenticationExtensionSymbols = {
|
|
322
322
|
UserService: Symbol.for("WP.EXT:AUTHENTICATION.USER_SERVICE"),
|
|
323
|
+
RolesService: Symbol.for("WP.EXT:AUTHENTICATION.ROLES_SERVICE"),
|
|
324
|
+
UserRolesService: Symbol.for("WP.EXT:AUTHENTICATION.USER_ROLES_SERVICE"),
|
|
325
|
+
};
|
|
326
|
+
const AuthenticationGuardsSymbols = {
|
|
327
|
+
Authenticated: "guard:authenticated",
|
|
328
|
+
Public: "guard:public",
|
|
329
|
+
Roles: "guard:roles",
|
|
330
|
+
MemberOf: "guard:memberOf",
|
|
323
331
|
};
|
|
324
332
|
|
|
333
|
+
const Public = () => common.SetMetadata(AuthenticationGuardsSymbols.Public, true);
|
|
334
|
+
const Authenticated = () => common.SetMetadata(AuthenticationGuardsSymbols.Authenticated, true);
|
|
335
|
+
const Roles = (...roles) => common.SetMetadata(AuthenticationGuardsSymbols.Roles, roles);
|
|
336
|
+
const MemberOf = (...groups) => common.SetMetadata(AuthenticationGuardsSymbols.MemberOf, groups);
|
|
337
|
+
|
|
338
|
+
const WpRolesService = () => common.applyDecorators(common.Injectable(), common.SetMetadata(AuthenticationExtensionSymbols.RolesService, true));
|
|
339
|
+
|
|
325
340
|
const WpUserService = () => common.applyDecorators(common.Injectable(), common.SetMetadata(AuthenticationExtensionSymbols.UserService, true));
|
|
326
341
|
|
|
342
|
+
const WpUserRolesService = () => common.applyDecorators(common.Injectable(), common.SetMetadata(AuthenticationExtensionSymbols.UserRolesService, true));
|
|
343
|
+
|
|
327
344
|
const AuthenticationEmailTemplates = {
|
|
328
345
|
Registration: "registration",
|
|
329
346
|
PasswordReset: "passwordReset",
|
|
@@ -358,6 +375,59 @@ const AuthenticationEvents = {
|
|
|
358
375
|
UserPasswordResetCompleted: `${AUTHENTICATION_EVENTS_NAMESPACE}:user.passwordResetCompleted`,
|
|
359
376
|
};
|
|
360
377
|
|
|
378
|
+
exports.AuthGuard = class AuthGuard {
|
|
379
|
+
constructor(reflector) {
|
|
380
|
+
this.reflector = reflector;
|
|
381
|
+
}
|
|
382
|
+
canActivate(context) {
|
|
383
|
+
const isPublic = this.getIsPublic(context);
|
|
384
|
+
if (isPublic) {
|
|
385
|
+
return true;
|
|
386
|
+
}
|
|
387
|
+
const auth = this.getCurrentAuth(context);
|
|
388
|
+
const allowedRoles = this.getAllowedRoles(context);
|
|
389
|
+
if (allowedRoles) {
|
|
390
|
+
return this.isRoleMatching(allowedRoles, auth?.roles ?? []);
|
|
391
|
+
}
|
|
392
|
+
const isForAllAuthenticated = this.getIsForAllAuthenticated(context);
|
|
393
|
+
if (isForAllAuthenticated) {
|
|
394
|
+
return !!auth?.user;
|
|
395
|
+
}
|
|
396
|
+
return false;
|
|
397
|
+
}
|
|
398
|
+
isRoleMatching(allowedRoles, userRoles) {
|
|
399
|
+
return userRoles.some((role) => allowedRoles.includes(role.uid));
|
|
400
|
+
}
|
|
401
|
+
getIsForAllAuthenticated(context) {
|
|
402
|
+
return this.getMetadata(AuthenticationGuardsSymbols.Authenticated, context);
|
|
403
|
+
}
|
|
404
|
+
getIsPublic(context) {
|
|
405
|
+
return this.getMetadata(AuthenticationGuardsSymbols.Public, context);
|
|
406
|
+
}
|
|
407
|
+
getAllowedRoles(context) {
|
|
408
|
+
return this.getMetadata(AuthenticationGuardsSymbols.Roles, context);
|
|
409
|
+
}
|
|
410
|
+
getCurrentAuth(context) {
|
|
411
|
+
const request = context.switchToHttp()?.getRequest();
|
|
412
|
+
return request?.auth?.user
|
|
413
|
+
? {
|
|
414
|
+
user: request.auth.user,
|
|
415
|
+
roles: request.auth.roles,
|
|
416
|
+
}
|
|
417
|
+
: undefined;
|
|
418
|
+
}
|
|
419
|
+
getMetadata(symbol, context) {
|
|
420
|
+
return this.reflector.getAllAndOverride(symbol, [
|
|
421
|
+
context.getHandler(),
|
|
422
|
+
context.getClass(),
|
|
423
|
+
]);
|
|
424
|
+
}
|
|
425
|
+
};
|
|
426
|
+
exports.AuthGuard = __decorate([
|
|
427
|
+
common.Injectable(),
|
|
428
|
+
__metadata("design:paramtypes", [core.Reflector])
|
|
429
|
+
], exports.AuthGuard);
|
|
430
|
+
|
|
361
431
|
const asyncLocalStorage = new async_hooks.AsyncLocalStorage();
|
|
362
432
|
|
|
363
433
|
exports.AppSessionService = class AppSessionService {
|
|
@@ -19081,12 +19151,30 @@ let AuthenticationServicesResolver = class AuthenticationServicesResolver {
|
|
|
19081
19151
|
registerUsersService(usersService) {
|
|
19082
19152
|
this.usersService = usersService;
|
|
19083
19153
|
}
|
|
19154
|
+
registerRoleService(rolesService) {
|
|
19155
|
+
this.rolesService = rolesService;
|
|
19156
|
+
}
|
|
19157
|
+
registerUserRolesService(userRolesService) {
|
|
19158
|
+
this.usersRolesService = userRolesService;
|
|
19159
|
+
}
|
|
19084
19160
|
getUsersService() {
|
|
19085
19161
|
if (!this.usersService) {
|
|
19086
19162
|
throw new Error("Users service is not registered");
|
|
19087
19163
|
}
|
|
19088
19164
|
return this.usersService;
|
|
19089
19165
|
}
|
|
19166
|
+
getRoleService() {
|
|
19167
|
+
if (!this.rolesService) {
|
|
19168
|
+
throw new Error("Roles service is not registered");
|
|
19169
|
+
}
|
|
19170
|
+
return this.rolesService;
|
|
19171
|
+
}
|
|
19172
|
+
getUserRoleService() {
|
|
19173
|
+
if (!this.usersRolesService) {
|
|
19174
|
+
throw new Error("User roles service is not registered");
|
|
19175
|
+
}
|
|
19176
|
+
return this.usersRolesService;
|
|
19177
|
+
}
|
|
19090
19178
|
};
|
|
19091
19179
|
AuthenticationServicesResolver = __decorate([
|
|
19092
19180
|
common.Injectable()
|
|
@@ -19195,6 +19283,7 @@ let UserRegistrationHandler = class UserRegistrationHandler {
|
|
|
19195
19283
|
this.logger.debug(`User already exists but not verified. Sending new verification email: ${input.email} - ${input.userName}`, { user });
|
|
19196
19284
|
return {
|
|
19197
19285
|
success: true,
|
|
19286
|
+
userId: user.id,
|
|
19198
19287
|
};
|
|
19199
19288
|
}
|
|
19200
19289
|
const newUser = await this.createUser(input.email, input.registrationInfo, input.context);
|
|
@@ -19209,6 +19298,7 @@ let UserRegistrationHandler = class UserRegistrationHandler {
|
|
|
19209
19298
|
});
|
|
19210
19299
|
return {
|
|
19211
19300
|
success: true,
|
|
19301
|
+
userId: newUser.id,
|
|
19212
19302
|
};
|
|
19213
19303
|
}
|
|
19214
19304
|
async createPasswordHash(password, userId) {
|
|
@@ -19573,7 +19663,7 @@ UserVerifyRequestHandler = __decorate([
|
|
|
19573
19663
|
], UserVerifyRequestHandler);
|
|
19574
19664
|
|
|
19575
19665
|
exports.AuthenticationService = class AuthenticationService {
|
|
19576
|
-
constructor(userDisableHandler, userEnableHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler) {
|
|
19666
|
+
constructor(userDisableHandler, userEnableHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler, resolver) {
|
|
19577
19667
|
this.userDisableHandler = userDisableHandler;
|
|
19578
19668
|
this.userEnableHandler = userEnableHandler;
|
|
19579
19669
|
this.userLoginHandler = userLoginHandler;
|
|
@@ -19584,6 +19674,7 @@ exports.AuthenticationService = class AuthenticationService {
|
|
|
19584
19674
|
this.userTokenVerifyHandler = userTokenVerifyHandler;
|
|
19585
19675
|
this.userVerifyRequestHandler = userVerifyRequestHandler;
|
|
19586
19676
|
this.userVerifyCompleteHandler = userVerifyCompleteHandler;
|
|
19677
|
+
this.resolver = resolver;
|
|
19587
19678
|
}
|
|
19588
19679
|
async userDisable(input) {
|
|
19589
19680
|
await this.userDisableHandler.execute(input);
|
|
@@ -19615,6 +19706,15 @@ exports.AuthenticationService = class AuthenticationService {
|
|
|
19615
19706
|
async userTokenVerify(input) {
|
|
19616
19707
|
return await this.userTokenVerifyHandler.execute(input);
|
|
19617
19708
|
}
|
|
19709
|
+
get usersService() {
|
|
19710
|
+
return this.resolver.getUsersService();
|
|
19711
|
+
}
|
|
19712
|
+
get rolesService() {
|
|
19713
|
+
return this.resolver.getRoleService();
|
|
19714
|
+
}
|
|
19715
|
+
get userRolesService() {
|
|
19716
|
+
return this.resolver.getUserRoleService();
|
|
19717
|
+
}
|
|
19618
19718
|
};
|
|
19619
19719
|
exports.AuthenticationService = __decorate([
|
|
19620
19720
|
common.Injectable(),
|
|
@@ -19627,12 +19727,13 @@ exports.AuthenticationService = __decorate([
|
|
|
19627
19727
|
UserRegistrationHandler,
|
|
19628
19728
|
UserTokenVerifyHandler,
|
|
19629
19729
|
UserVerifyRequestHandler,
|
|
19630
|
-
UserVerifyCompleteHandler
|
|
19730
|
+
UserVerifyCompleteHandler,
|
|
19731
|
+
AuthenticationServicesResolver])
|
|
19631
19732
|
], exports.AuthenticationService);
|
|
19632
19733
|
|
|
19633
|
-
const Services$
|
|
19734
|
+
const Services$2 = [exports.AuthenticationService];
|
|
19634
19735
|
|
|
19635
|
-
const Services = [
|
|
19736
|
+
const Services$1 = [
|
|
19636
19737
|
exports.AppSessionService,
|
|
19637
19738
|
exports.AppHashingService,
|
|
19638
19739
|
exports.EntityManagerService,
|
|
@@ -19855,8 +19956,8 @@ exports.EntityManagerModule = class EntityManagerModule {
|
|
|
19855
19956
|
exports.EntityManagerModule = __decorate([
|
|
19856
19957
|
common.Module({
|
|
19857
19958
|
imports: [CustomDiscoveryModule, eventEmitter.EventEmitterModule],
|
|
19858
|
-
providers: [...IoC, ...Providers, ...Processors, ...Services],
|
|
19859
|
-
exports: [exports.EntityManagerRegistry, ...Services],
|
|
19959
|
+
providers: [...IoC, ...Providers, ...Processors, ...Services$1],
|
|
19960
|
+
exports: [exports.EntityManagerRegistry, ...Services$1],
|
|
19860
19961
|
})
|
|
19861
19962
|
], exports.EntityManagerModule);
|
|
19862
19963
|
|
|
@@ -19883,16 +19984,44 @@ let AuthenticationInitializer = AuthenticationInitializer_1 = class Authenticati
|
|
|
19883
19984
|
this.logger = new common.Logger(AuthenticationInitializer_1.name);
|
|
19884
19985
|
}
|
|
19885
19986
|
async initialize(app) {
|
|
19886
|
-
|
|
19887
|
-
|
|
19987
|
+
await this.registerRolesService();
|
|
19988
|
+
await this.registerUsersService();
|
|
19989
|
+
await this.registerUserRolesService();
|
|
19990
|
+
this.logger.log("Authentication initialized 🔑");
|
|
19991
|
+
}
|
|
19992
|
+
async registerRolesService() {
|
|
19993
|
+
const service = await this.discoverRolesService();
|
|
19994
|
+
if (!service) {
|
|
19995
|
+
throw new Error("No roles service found");
|
|
19996
|
+
}
|
|
19997
|
+
this.registry.registerRoleService(service.discoveredClass.instance);
|
|
19998
|
+
this.logger.log(`Authentication roles service ${service.discoveredClass.name} registered`);
|
|
19999
|
+
}
|
|
20000
|
+
async registerUsersService() {
|
|
20001
|
+
const service = await this.discoverUserService();
|
|
20002
|
+
if (!service) {
|
|
19888
20003
|
throw new Error("No user service found");
|
|
19889
20004
|
}
|
|
19890
|
-
this.registry.registerUsersService(
|
|
19891
|
-
this.logger.log(
|
|
20005
|
+
this.registry.registerUsersService(service.discoveredClass.instance);
|
|
20006
|
+
this.logger.log(`Authentication users service ${service.discoveredClass.name} registered`);
|
|
20007
|
+
}
|
|
20008
|
+
async registerUserRolesService() {
|
|
20009
|
+
const service = await this.discoverUserRolesService();
|
|
20010
|
+
if (!service) {
|
|
20011
|
+
throw new Error("No user roles service found");
|
|
20012
|
+
}
|
|
20013
|
+
this.registry.registerUserRolesService(service.discoveredClass.instance);
|
|
20014
|
+
this.logger.log(`Authentication user roles service ${service.discoveredClass.name} registered`);
|
|
19892
20015
|
}
|
|
19893
20016
|
async discoverUserService() {
|
|
19894
20017
|
return await this.discover.providerWithMetaAtKey(AuthenticationExtensionSymbols.UserService);
|
|
19895
20018
|
}
|
|
20019
|
+
async discoverRolesService() {
|
|
20020
|
+
return await this.discover.providerWithMetaAtKey(AuthenticationExtensionSymbols.RolesService);
|
|
20021
|
+
}
|
|
20022
|
+
async discoverUserRolesService() {
|
|
20023
|
+
return await this.discover.providerWithMetaAtKey(AuthenticationExtensionSymbols.UserRolesService);
|
|
20024
|
+
}
|
|
19896
20025
|
};
|
|
19897
20026
|
AuthenticationInitializer = AuthenticationInitializer_1 = __decorate([
|
|
19898
20027
|
WpAppInitializer(),
|
|
@@ -19900,17 +20029,95 @@ AuthenticationInitializer = AuthenticationInitializer_1 = __decorate([
|
|
|
19900
20029
|
AuthenticationServicesResolver])
|
|
19901
20030
|
], AuthenticationInitializer);
|
|
19902
20031
|
|
|
20032
|
+
class AppSession {
|
|
20033
|
+
constructor(request, response) {
|
|
20034
|
+
this._map = new Map();
|
|
20035
|
+
this._request = request;
|
|
20036
|
+
this._response = response;
|
|
20037
|
+
}
|
|
20038
|
+
get(key) {
|
|
20039
|
+
return this._map.get(key);
|
|
20040
|
+
}
|
|
20041
|
+
set(key, value) {
|
|
20042
|
+
this._map.set(key, value);
|
|
20043
|
+
}
|
|
20044
|
+
delete(key) {
|
|
20045
|
+
this._map.delete(key);
|
|
20046
|
+
}
|
|
20047
|
+
clear() {
|
|
20048
|
+
this._map.clear();
|
|
20049
|
+
}
|
|
20050
|
+
get request() {
|
|
20051
|
+
return this._request;
|
|
20052
|
+
}
|
|
20053
|
+
get response() {
|
|
20054
|
+
return this._response;
|
|
20055
|
+
}
|
|
20056
|
+
}
|
|
20057
|
+
|
|
20058
|
+
exports.AppSessionMiddleware = class AppSessionMiddleware {
|
|
20059
|
+
use(req, res, next) {
|
|
20060
|
+
asyncLocalStorage.run(new AppSession(req, res), () => {
|
|
20061
|
+
next();
|
|
20062
|
+
});
|
|
20063
|
+
}
|
|
20064
|
+
};
|
|
20065
|
+
exports.AppSessionMiddleware = __decorate([
|
|
20066
|
+
common.Injectable()
|
|
20067
|
+
], exports.AppSessionMiddleware);
|
|
20068
|
+
function appSessionMiddleware(req, res, next) {
|
|
20069
|
+
asyncLocalStorage.run(new AppSession(req, res), () => {
|
|
20070
|
+
next();
|
|
20071
|
+
});
|
|
20072
|
+
}
|
|
20073
|
+
|
|
20074
|
+
let AuthenticationMiddleware = class AuthenticationMiddleware {
|
|
20075
|
+
constructor(authService) {
|
|
20076
|
+
this.authService = authService;
|
|
20077
|
+
}
|
|
20078
|
+
async use(req, res, next) {
|
|
20079
|
+
const token = this.extractTokenFromHeader(req);
|
|
20080
|
+
if (token) {
|
|
20081
|
+
const parsedToken = await this.authService.userTokenVerify({ token });
|
|
20082
|
+
if (parsedToken.isValid) {
|
|
20083
|
+
const user = await this.getUserFromToken(parsedToken.data);
|
|
20084
|
+
const roles = user ? await this.getUserRoles(user) : [];
|
|
20085
|
+
req.auth = {
|
|
20086
|
+
user,
|
|
20087
|
+
roles,
|
|
20088
|
+
};
|
|
20089
|
+
}
|
|
20090
|
+
}
|
|
20091
|
+
next();
|
|
20092
|
+
}
|
|
20093
|
+
async getUserFromToken(parsedToken) {
|
|
20094
|
+
return await this.authService.usersService.getById(parsedToken.userId);
|
|
20095
|
+
}
|
|
20096
|
+
async getUserRoles(user) {
|
|
20097
|
+
return await this.authService.userRolesService.getUserRoles(user.id);
|
|
20098
|
+
}
|
|
20099
|
+
extractTokenFromHeader(request) {
|
|
20100
|
+
const [type, token] = request.headers.authorization?.split(" ") ?? [];
|
|
20101
|
+
return type === "Bearer" ? token : undefined;
|
|
20102
|
+
}
|
|
20103
|
+
};
|
|
20104
|
+
AuthenticationMiddleware = __decorate([
|
|
20105
|
+
common.Injectable(),
|
|
20106
|
+
__metadata("design:paramtypes", [exports.AuthenticationService])
|
|
20107
|
+
], AuthenticationMiddleware);
|
|
20108
|
+
|
|
19903
20109
|
var AuthenticationModule_1;
|
|
19904
20110
|
const ModuleData$2 = {
|
|
19905
20111
|
imports: [exports.EntityManagerModule, jwt.JwtModule],
|
|
19906
20112
|
providers: [
|
|
19907
20113
|
AuthenticationServicesResolver,
|
|
19908
20114
|
AuthenticationInitializer,
|
|
19909
|
-
|
|
20115
|
+
exports.AuthGuard,
|
|
20116
|
+
...Services$2,
|
|
19910
20117
|
...UserHandlers,
|
|
19911
20118
|
...AuthenticationProviders,
|
|
19912
20119
|
],
|
|
19913
|
-
exports: [...Services$
|
|
20120
|
+
exports: [...Services$2],
|
|
19914
20121
|
};
|
|
19915
20122
|
exports.AuthenticationModule = AuthenticationModule_1 = class AuthenticationModule {
|
|
19916
20123
|
static forRoot(input) {
|
|
@@ -19920,6 +20127,13 @@ exports.AuthenticationModule = AuthenticationModule_1 = class AuthenticationModu
|
|
|
19920
20127
|
...ModuleData$2,
|
|
19921
20128
|
};
|
|
19922
20129
|
}
|
|
20130
|
+
configure(consumer) {
|
|
20131
|
+
consumer
|
|
20132
|
+
.apply(appSessionMiddleware)
|
|
20133
|
+
.forRoutes("*")
|
|
20134
|
+
.apply(AuthenticationMiddleware)
|
|
20135
|
+
.forRoutes("*");
|
|
20136
|
+
}
|
|
19923
20137
|
};
|
|
19924
20138
|
exports.AuthenticationModule = AuthenticationModule_1 = __decorate([
|
|
19925
20139
|
common.Module({
|
|
@@ -19927,10 +20141,41 @@ exports.AuthenticationModule = AuthenticationModule_1 = __decorate([
|
|
|
19927
20141
|
})
|
|
19928
20142
|
], exports.AuthenticationModule);
|
|
19929
20143
|
|
|
20144
|
+
let OrganizationInitializerService = class OrganizationInitializerService {
|
|
20145
|
+
constructor(registry) {
|
|
20146
|
+
this.registry = registry;
|
|
20147
|
+
}
|
|
20148
|
+
async execute(template) { }
|
|
20149
|
+
};
|
|
20150
|
+
OrganizationInitializerService = __decorate([
|
|
20151
|
+
common.Injectable(),
|
|
20152
|
+
__metadata("design:paramtypes", [exports.EntityManagerRegistry])
|
|
20153
|
+
], OrganizationInitializerService);
|
|
20154
|
+
|
|
20155
|
+
let TenantInitializerService = class TenantInitializerService {
|
|
20156
|
+
constructor(registry) {
|
|
20157
|
+
this.registry = registry;
|
|
20158
|
+
}
|
|
20159
|
+
async execute(template) { }
|
|
20160
|
+
};
|
|
20161
|
+
TenantInitializerService = __decorate([
|
|
20162
|
+
common.Injectable(),
|
|
20163
|
+
__metadata("design:paramtypes", [exports.EntityManagerRegistry])
|
|
20164
|
+
], TenantInitializerService);
|
|
20165
|
+
|
|
20166
|
+
const Services = [
|
|
20167
|
+
OrganizationInitializerService,
|
|
20168
|
+
TenantInitializerService,
|
|
20169
|
+
];
|
|
20170
|
+
|
|
19930
20171
|
exports.MultiTenancyModule = class MultiTenancyModule {
|
|
19931
20172
|
};
|
|
19932
20173
|
exports.MultiTenancyModule = __decorate([
|
|
19933
|
-
common.Module({
|
|
20174
|
+
common.Module({
|
|
20175
|
+
imports: [exports.EntityManagerModule],
|
|
20176
|
+
providers: [...Providers, ...Services],
|
|
20177
|
+
exports: [...Services],
|
|
20178
|
+
})
|
|
19934
20179
|
], exports.MultiTenancyModule);
|
|
19935
20180
|
|
|
19936
20181
|
class QueryBuilderBase {
|
|
@@ -19980,7 +20225,7 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
19980
20225
|
...(context ? this.buildContextFilter(context) : {}),
|
|
19981
20226
|
...this.buildWhereClause(request),
|
|
19982
20227
|
},
|
|
19983
|
-
relations: this.getRelationsToLoad(request),
|
|
20228
|
+
relations: this.getRelationsToLoad(request, context),
|
|
19984
20229
|
...this.buildPagingParameters(request),
|
|
19985
20230
|
});
|
|
19986
20231
|
}
|
|
@@ -25407,46 +25652,10 @@ exports.SendgridEmailModule = SendgridEmailModule_1 = __decorate([
|
|
|
25407
25652
|
})
|
|
25408
25653
|
], exports.SendgridEmailModule);
|
|
25409
25654
|
|
|
25410
|
-
class AppSession {
|
|
25411
|
-
constructor(request, response) {
|
|
25412
|
-
this._map = new Map();
|
|
25413
|
-
this._request = request;
|
|
25414
|
-
this._response = response;
|
|
25415
|
-
}
|
|
25416
|
-
get(key) {
|
|
25417
|
-
return this._map.get(key);
|
|
25418
|
-
}
|
|
25419
|
-
set(key, value) {
|
|
25420
|
-
this._map.set(key, value);
|
|
25421
|
-
}
|
|
25422
|
-
delete(key) {
|
|
25423
|
-
this._map.delete(key);
|
|
25424
|
-
}
|
|
25425
|
-
clear() {
|
|
25426
|
-
this._map.clear();
|
|
25427
|
-
}
|
|
25428
|
-
get request() {
|
|
25429
|
-
return this._request;
|
|
25430
|
-
}
|
|
25431
|
-
get response() {
|
|
25432
|
-
return this._response;
|
|
25433
|
-
}
|
|
25434
|
-
}
|
|
25435
|
-
|
|
25436
|
-
exports.AppSessionMiddleware = class AppSessionMiddleware {
|
|
25437
|
-
use(req, res, next) {
|
|
25438
|
-
asyncLocalStorage.run(new AppSession(req, res), () => {
|
|
25439
|
-
next();
|
|
25440
|
-
});
|
|
25441
|
-
}
|
|
25442
|
-
};
|
|
25443
|
-
exports.AppSessionMiddleware = __decorate([
|
|
25444
|
-
common.Injectable()
|
|
25445
|
-
], exports.AppSessionMiddleware);
|
|
25446
|
-
|
|
25447
25655
|
exports.AUTHENTICATION_EVENTS_NAMESPACE = AUTHENTICATION_EVENTS_NAMESPACE;
|
|
25448
25656
|
exports.AppExceptionsFilterBase = AppExceptionsFilterBase;
|
|
25449
25657
|
exports.AppInMemorySettings = AppInMemorySettings;
|
|
25658
|
+
exports.Authenticated = Authenticated;
|
|
25450
25659
|
exports.AuthenticationEmailTemplates = AuthenticationEmailTemplates;
|
|
25451
25660
|
exports.AuthenticationError = AuthenticationError;
|
|
25452
25661
|
exports.AuthenticationEvents = AuthenticationEvents;
|
|
@@ -25462,6 +25671,7 @@ exports.EntityNotFoundException = EntityNotFoundException;
|
|
|
25462
25671
|
exports.EntityOperationUnauthorizedException = EntityOperationUnauthorizedException;
|
|
25463
25672
|
exports.EntitySeeder = EntitySeeder;
|
|
25464
25673
|
exports.InvalidCredentialsError = InvalidCredentialsError;
|
|
25674
|
+
exports.MemberOf = MemberOf;
|
|
25465
25675
|
exports.MultipleEntitiesFoundException = MultipleEntitiesFoundException;
|
|
25466
25676
|
exports.NestEntityActions = NestEntityActions;
|
|
25467
25677
|
exports.NestEntityAuthorizationMiddleware = NestEntityAuthorizationMiddleware;
|
|
@@ -25474,7 +25684,9 @@ exports.NumericFacetItem = NumericFacetItem;
|
|
|
25474
25684
|
exports.OperationTokenMismatchError = OperationTokenMismatchError;
|
|
25475
25685
|
exports.PLATFORM_EVENT_NAMESPACE = PLATFORM_EVENT_NAMESPACE;
|
|
25476
25686
|
exports.PlatformEvents = PlatformEvents;
|
|
25687
|
+
exports.Public = Public;
|
|
25477
25688
|
exports.QueryBuilderBase = QueryBuilderBase;
|
|
25689
|
+
exports.Roles = Roles;
|
|
25478
25690
|
exports.SendgridEmailTemplate = SendgridEmailTemplate;
|
|
25479
25691
|
exports.StringFacet = StringFacet;
|
|
25480
25692
|
exports.StringFacetItem = StringFacetItem;
|
|
@@ -25492,7 +25704,9 @@ exports.WpEntityQueryBuilder = WpEntityQueryBuilder;
|
|
|
25492
25704
|
exports.WpEntityRepository = WpEntityRepository;
|
|
25493
25705
|
exports.WpEntitySeeder = WpEntitySeeder;
|
|
25494
25706
|
exports.WpEventsTracker = WpEventsTracker;
|
|
25707
|
+
exports.WpRolesService = WpRolesService;
|
|
25495
25708
|
exports.WpSendgridEmailTemplate = WpSendgridEmailTemplate;
|
|
25709
|
+
exports.WpUserRolesService = WpUserRolesService;
|
|
25496
25710
|
exports.WpUserService = WpUserService;
|
|
25497
25711
|
exports.getLocalizedText = getLocalizedText;
|
|
25498
25712
|
exports.newUuid = newUuid;
|