@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/esm/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Log, sort, byField, toDict, newUuid as newUuid$1, removeUndefinedProps } from '@punks/backend-core';
|
|
2
2
|
import { applyDecorators, Injectable, SetMetadata, Global, Module, Scope, Logger, HttpStatus, HttpException } from '@nestjs/common';
|
|
3
3
|
import { ApiProperty } from '@nestjs/swagger';
|
|
4
|
+
import { Reflector } from '@nestjs/core';
|
|
4
5
|
import { AsyncLocalStorage } from 'async_hooks';
|
|
5
6
|
import { hash } from 'bcrypt';
|
|
6
7
|
import { PATH_METADATA } from '@nestjs/common/constants';
|
|
@@ -9,7 +10,6 @@ import { MetadataScanner } from '@nestjs/core/metadata-scanner';
|
|
|
9
10
|
import { JwtService, JwtModule } from '@nestjs/jwt';
|
|
10
11
|
import { EventEmitter2, EventEmitterModule } from '@nestjs/event-emitter';
|
|
11
12
|
import { In } from 'typeorm';
|
|
12
|
-
import { Reflector } from '@nestjs/core';
|
|
13
13
|
import { SendEmailCommand, SESClient } from '@aws-sdk/client-ses';
|
|
14
14
|
import require$$2 from 'fs';
|
|
15
15
|
import { MailService } from '@sendgrid/mail';
|
|
@@ -312,10 +312,27 @@ __decorate([
|
|
|
312
312
|
|
|
313
313
|
const AuthenticationExtensionSymbols = {
|
|
314
314
|
UserService: Symbol.for("WP.EXT:AUTHENTICATION.USER_SERVICE"),
|
|
315
|
+
RolesService: Symbol.for("WP.EXT:AUTHENTICATION.ROLES_SERVICE"),
|
|
316
|
+
UserRolesService: Symbol.for("WP.EXT:AUTHENTICATION.USER_ROLES_SERVICE"),
|
|
317
|
+
};
|
|
318
|
+
const AuthenticationGuardsSymbols = {
|
|
319
|
+
Authenticated: "guard:authenticated",
|
|
320
|
+
Public: "guard:public",
|
|
321
|
+
Roles: "guard:roles",
|
|
322
|
+
MemberOf: "guard:memberOf",
|
|
315
323
|
};
|
|
316
324
|
|
|
325
|
+
const Public = () => SetMetadata(AuthenticationGuardsSymbols.Public, true);
|
|
326
|
+
const Authenticated = () => SetMetadata(AuthenticationGuardsSymbols.Authenticated, true);
|
|
327
|
+
const Roles = (...roles) => SetMetadata(AuthenticationGuardsSymbols.Roles, roles);
|
|
328
|
+
const MemberOf = (...groups) => SetMetadata(AuthenticationGuardsSymbols.MemberOf, groups);
|
|
329
|
+
|
|
330
|
+
const WpRolesService = () => applyDecorators(Injectable(), SetMetadata(AuthenticationExtensionSymbols.RolesService, true));
|
|
331
|
+
|
|
317
332
|
const WpUserService = () => applyDecorators(Injectable(), SetMetadata(AuthenticationExtensionSymbols.UserService, true));
|
|
318
333
|
|
|
334
|
+
const WpUserRolesService = () => applyDecorators(Injectable(), SetMetadata(AuthenticationExtensionSymbols.UserRolesService, true));
|
|
335
|
+
|
|
319
336
|
const AuthenticationEmailTemplates = {
|
|
320
337
|
Registration: "registration",
|
|
321
338
|
PasswordReset: "passwordReset",
|
|
@@ -350,6 +367,59 @@ const AuthenticationEvents = {
|
|
|
350
367
|
UserPasswordResetCompleted: `${AUTHENTICATION_EVENTS_NAMESPACE}:user.passwordResetCompleted`,
|
|
351
368
|
};
|
|
352
369
|
|
|
370
|
+
let AuthGuard = class AuthGuard {
|
|
371
|
+
constructor(reflector) {
|
|
372
|
+
this.reflector = reflector;
|
|
373
|
+
}
|
|
374
|
+
canActivate(context) {
|
|
375
|
+
const isPublic = this.getIsPublic(context);
|
|
376
|
+
if (isPublic) {
|
|
377
|
+
return true;
|
|
378
|
+
}
|
|
379
|
+
const auth = this.getCurrentAuth(context);
|
|
380
|
+
const allowedRoles = this.getAllowedRoles(context);
|
|
381
|
+
if (allowedRoles) {
|
|
382
|
+
return this.isRoleMatching(allowedRoles, auth?.roles ?? []);
|
|
383
|
+
}
|
|
384
|
+
const isForAllAuthenticated = this.getIsForAllAuthenticated(context);
|
|
385
|
+
if (isForAllAuthenticated) {
|
|
386
|
+
return !!auth?.user;
|
|
387
|
+
}
|
|
388
|
+
return false;
|
|
389
|
+
}
|
|
390
|
+
isRoleMatching(allowedRoles, userRoles) {
|
|
391
|
+
return userRoles.some((role) => allowedRoles.includes(role.uid));
|
|
392
|
+
}
|
|
393
|
+
getIsForAllAuthenticated(context) {
|
|
394
|
+
return this.getMetadata(AuthenticationGuardsSymbols.Authenticated, context);
|
|
395
|
+
}
|
|
396
|
+
getIsPublic(context) {
|
|
397
|
+
return this.getMetadata(AuthenticationGuardsSymbols.Public, context);
|
|
398
|
+
}
|
|
399
|
+
getAllowedRoles(context) {
|
|
400
|
+
return this.getMetadata(AuthenticationGuardsSymbols.Roles, context);
|
|
401
|
+
}
|
|
402
|
+
getCurrentAuth(context) {
|
|
403
|
+
const request = context.switchToHttp()?.getRequest();
|
|
404
|
+
return request?.auth?.user
|
|
405
|
+
? {
|
|
406
|
+
user: request.auth.user,
|
|
407
|
+
roles: request.auth.roles,
|
|
408
|
+
}
|
|
409
|
+
: undefined;
|
|
410
|
+
}
|
|
411
|
+
getMetadata(symbol, context) {
|
|
412
|
+
return this.reflector.getAllAndOverride(symbol, [
|
|
413
|
+
context.getHandler(),
|
|
414
|
+
context.getClass(),
|
|
415
|
+
]);
|
|
416
|
+
}
|
|
417
|
+
};
|
|
418
|
+
AuthGuard = __decorate([
|
|
419
|
+
Injectable(),
|
|
420
|
+
__metadata("design:paramtypes", [Reflector])
|
|
421
|
+
], AuthGuard);
|
|
422
|
+
|
|
353
423
|
const asyncLocalStorage = new AsyncLocalStorage();
|
|
354
424
|
|
|
355
425
|
let AppSessionService = class AppSessionService {
|
|
@@ -19073,12 +19143,30 @@ let AuthenticationServicesResolver = class AuthenticationServicesResolver {
|
|
|
19073
19143
|
registerUsersService(usersService) {
|
|
19074
19144
|
this.usersService = usersService;
|
|
19075
19145
|
}
|
|
19146
|
+
registerRoleService(rolesService) {
|
|
19147
|
+
this.rolesService = rolesService;
|
|
19148
|
+
}
|
|
19149
|
+
registerUserRolesService(userRolesService) {
|
|
19150
|
+
this.usersRolesService = userRolesService;
|
|
19151
|
+
}
|
|
19076
19152
|
getUsersService() {
|
|
19077
19153
|
if (!this.usersService) {
|
|
19078
19154
|
throw new Error("Users service is not registered");
|
|
19079
19155
|
}
|
|
19080
19156
|
return this.usersService;
|
|
19081
19157
|
}
|
|
19158
|
+
getRoleService() {
|
|
19159
|
+
if (!this.rolesService) {
|
|
19160
|
+
throw new Error("Roles service is not registered");
|
|
19161
|
+
}
|
|
19162
|
+
return this.rolesService;
|
|
19163
|
+
}
|
|
19164
|
+
getUserRoleService() {
|
|
19165
|
+
if (!this.usersRolesService) {
|
|
19166
|
+
throw new Error("User roles service is not registered");
|
|
19167
|
+
}
|
|
19168
|
+
return this.usersRolesService;
|
|
19169
|
+
}
|
|
19082
19170
|
};
|
|
19083
19171
|
AuthenticationServicesResolver = __decorate([
|
|
19084
19172
|
Injectable()
|
|
@@ -19187,6 +19275,7 @@ let UserRegistrationHandler = class UserRegistrationHandler {
|
|
|
19187
19275
|
this.logger.debug(`User already exists but not verified. Sending new verification email: ${input.email} - ${input.userName}`, { user });
|
|
19188
19276
|
return {
|
|
19189
19277
|
success: true,
|
|
19278
|
+
userId: user.id,
|
|
19190
19279
|
};
|
|
19191
19280
|
}
|
|
19192
19281
|
const newUser = await this.createUser(input.email, input.registrationInfo, input.context);
|
|
@@ -19201,6 +19290,7 @@ let UserRegistrationHandler = class UserRegistrationHandler {
|
|
|
19201
19290
|
});
|
|
19202
19291
|
return {
|
|
19203
19292
|
success: true,
|
|
19293
|
+
userId: newUser.id,
|
|
19204
19294
|
};
|
|
19205
19295
|
}
|
|
19206
19296
|
async createPasswordHash(password, userId) {
|
|
@@ -19565,7 +19655,7 @@ UserVerifyRequestHandler = __decorate([
|
|
|
19565
19655
|
], UserVerifyRequestHandler);
|
|
19566
19656
|
|
|
19567
19657
|
let AuthenticationService = class AuthenticationService {
|
|
19568
|
-
constructor(userDisableHandler, userEnableHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler) {
|
|
19658
|
+
constructor(userDisableHandler, userEnableHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler, resolver) {
|
|
19569
19659
|
this.userDisableHandler = userDisableHandler;
|
|
19570
19660
|
this.userEnableHandler = userEnableHandler;
|
|
19571
19661
|
this.userLoginHandler = userLoginHandler;
|
|
@@ -19576,6 +19666,7 @@ let AuthenticationService = class AuthenticationService {
|
|
|
19576
19666
|
this.userTokenVerifyHandler = userTokenVerifyHandler;
|
|
19577
19667
|
this.userVerifyRequestHandler = userVerifyRequestHandler;
|
|
19578
19668
|
this.userVerifyCompleteHandler = userVerifyCompleteHandler;
|
|
19669
|
+
this.resolver = resolver;
|
|
19579
19670
|
}
|
|
19580
19671
|
async userDisable(input) {
|
|
19581
19672
|
await this.userDisableHandler.execute(input);
|
|
@@ -19607,6 +19698,15 @@ let AuthenticationService = class AuthenticationService {
|
|
|
19607
19698
|
async userTokenVerify(input) {
|
|
19608
19699
|
return await this.userTokenVerifyHandler.execute(input);
|
|
19609
19700
|
}
|
|
19701
|
+
get usersService() {
|
|
19702
|
+
return this.resolver.getUsersService();
|
|
19703
|
+
}
|
|
19704
|
+
get rolesService() {
|
|
19705
|
+
return this.resolver.getRoleService();
|
|
19706
|
+
}
|
|
19707
|
+
get userRolesService() {
|
|
19708
|
+
return this.resolver.getUserRoleService();
|
|
19709
|
+
}
|
|
19610
19710
|
};
|
|
19611
19711
|
AuthenticationService = __decorate([
|
|
19612
19712
|
Injectable(),
|
|
@@ -19619,12 +19719,13 @@ AuthenticationService = __decorate([
|
|
|
19619
19719
|
UserRegistrationHandler,
|
|
19620
19720
|
UserTokenVerifyHandler,
|
|
19621
19721
|
UserVerifyRequestHandler,
|
|
19622
|
-
UserVerifyCompleteHandler
|
|
19722
|
+
UserVerifyCompleteHandler,
|
|
19723
|
+
AuthenticationServicesResolver])
|
|
19623
19724
|
], AuthenticationService);
|
|
19624
19725
|
|
|
19625
|
-
const Services$
|
|
19726
|
+
const Services$2 = [AuthenticationService];
|
|
19626
19727
|
|
|
19627
|
-
const Services = [
|
|
19728
|
+
const Services$1 = [
|
|
19628
19729
|
AppSessionService,
|
|
19629
19730
|
AppHashingService,
|
|
19630
19731
|
EntityManagerService,
|
|
@@ -19847,8 +19948,8 @@ let EntityManagerModule = class EntityManagerModule {
|
|
|
19847
19948
|
EntityManagerModule = __decorate([
|
|
19848
19949
|
Module({
|
|
19849
19950
|
imports: [CustomDiscoveryModule, EventEmitterModule],
|
|
19850
|
-
providers: [...IoC, ...Providers, ...Processors, ...Services],
|
|
19851
|
-
exports: [EntityManagerRegistry, ...Services],
|
|
19951
|
+
providers: [...IoC, ...Providers, ...Processors, ...Services$1],
|
|
19952
|
+
exports: [EntityManagerRegistry, ...Services$1],
|
|
19852
19953
|
})
|
|
19853
19954
|
], EntityManagerModule);
|
|
19854
19955
|
|
|
@@ -19875,16 +19976,44 @@ let AuthenticationInitializer = AuthenticationInitializer_1 = class Authenticati
|
|
|
19875
19976
|
this.logger = new Logger(AuthenticationInitializer_1.name);
|
|
19876
19977
|
}
|
|
19877
19978
|
async initialize(app) {
|
|
19878
|
-
|
|
19879
|
-
|
|
19979
|
+
await this.registerRolesService();
|
|
19980
|
+
await this.registerUsersService();
|
|
19981
|
+
await this.registerUserRolesService();
|
|
19982
|
+
this.logger.log("Authentication initialized 🔑");
|
|
19983
|
+
}
|
|
19984
|
+
async registerRolesService() {
|
|
19985
|
+
const service = await this.discoverRolesService();
|
|
19986
|
+
if (!service) {
|
|
19987
|
+
throw new Error("No roles service found");
|
|
19988
|
+
}
|
|
19989
|
+
this.registry.registerRoleService(service.discoveredClass.instance);
|
|
19990
|
+
this.logger.log(`Authentication roles service ${service.discoveredClass.name} registered`);
|
|
19991
|
+
}
|
|
19992
|
+
async registerUsersService() {
|
|
19993
|
+
const service = await this.discoverUserService();
|
|
19994
|
+
if (!service) {
|
|
19880
19995
|
throw new Error("No user service found");
|
|
19881
19996
|
}
|
|
19882
|
-
this.registry.registerUsersService(
|
|
19883
|
-
this.logger.log(
|
|
19997
|
+
this.registry.registerUsersService(service.discoveredClass.instance);
|
|
19998
|
+
this.logger.log(`Authentication users service ${service.discoveredClass.name} registered`);
|
|
19999
|
+
}
|
|
20000
|
+
async registerUserRolesService() {
|
|
20001
|
+
const service = await this.discoverUserRolesService();
|
|
20002
|
+
if (!service) {
|
|
20003
|
+
throw new Error("No user roles service found");
|
|
20004
|
+
}
|
|
20005
|
+
this.registry.registerUserRolesService(service.discoveredClass.instance);
|
|
20006
|
+
this.logger.log(`Authentication user roles service ${service.discoveredClass.name} registered`);
|
|
19884
20007
|
}
|
|
19885
20008
|
async discoverUserService() {
|
|
19886
20009
|
return await this.discover.providerWithMetaAtKey(AuthenticationExtensionSymbols.UserService);
|
|
19887
20010
|
}
|
|
20011
|
+
async discoverRolesService() {
|
|
20012
|
+
return await this.discover.providerWithMetaAtKey(AuthenticationExtensionSymbols.RolesService);
|
|
20013
|
+
}
|
|
20014
|
+
async discoverUserRolesService() {
|
|
20015
|
+
return await this.discover.providerWithMetaAtKey(AuthenticationExtensionSymbols.UserRolesService);
|
|
20016
|
+
}
|
|
19888
20017
|
};
|
|
19889
20018
|
AuthenticationInitializer = AuthenticationInitializer_1 = __decorate([
|
|
19890
20019
|
WpAppInitializer(),
|
|
@@ -19892,17 +20021,95 @@ AuthenticationInitializer = AuthenticationInitializer_1 = __decorate([
|
|
|
19892
20021
|
AuthenticationServicesResolver])
|
|
19893
20022
|
], AuthenticationInitializer);
|
|
19894
20023
|
|
|
20024
|
+
class AppSession {
|
|
20025
|
+
constructor(request, response) {
|
|
20026
|
+
this._map = new Map();
|
|
20027
|
+
this._request = request;
|
|
20028
|
+
this._response = response;
|
|
20029
|
+
}
|
|
20030
|
+
get(key) {
|
|
20031
|
+
return this._map.get(key);
|
|
20032
|
+
}
|
|
20033
|
+
set(key, value) {
|
|
20034
|
+
this._map.set(key, value);
|
|
20035
|
+
}
|
|
20036
|
+
delete(key) {
|
|
20037
|
+
this._map.delete(key);
|
|
20038
|
+
}
|
|
20039
|
+
clear() {
|
|
20040
|
+
this._map.clear();
|
|
20041
|
+
}
|
|
20042
|
+
get request() {
|
|
20043
|
+
return this._request;
|
|
20044
|
+
}
|
|
20045
|
+
get response() {
|
|
20046
|
+
return this._response;
|
|
20047
|
+
}
|
|
20048
|
+
}
|
|
20049
|
+
|
|
20050
|
+
let AppSessionMiddleware = class AppSessionMiddleware {
|
|
20051
|
+
use(req, res, next) {
|
|
20052
|
+
asyncLocalStorage.run(new AppSession(req, res), () => {
|
|
20053
|
+
next();
|
|
20054
|
+
});
|
|
20055
|
+
}
|
|
20056
|
+
};
|
|
20057
|
+
AppSessionMiddleware = __decorate([
|
|
20058
|
+
Injectable()
|
|
20059
|
+
], AppSessionMiddleware);
|
|
20060
|
+
function appSessionMiddleware(req, res, next) {
|
|
20061
|
+
asyncLocalStorage.run(new AppSession(req, res), () => {
|
|
20062
|
+
next();
|
|
20063
|
+
});
|
|
20064
|
+
}
|
|
20065
|
+
|
|
20066
|
+
let AuthenticationMiddleware = class AuthenticationMiddleware {
|
|
20067
|
+
constructor(authService) {
|
|
20068
|
+
this.authService = authService;
|
|
20069
|
+
}
|
|
20070
|
+
async use(req, res, next) {
|
|
20071
|
+
const token = this.extractTokenFromHeader(req);
|
|
20072
|
+
if (token) {
|
|
20073
|
+
const parsedToken = await this.authService.userTokenVerify({ token });
|
|
20074
|
+
if (parsedToken.isValid) {
|
|
20075
|
+
const user = await this.getUserFromToken(parsedToken.data);
|
|
20076
|
+
const roles = user ? await this.getUserRoles(user) : [];
|
|
20077
|
+
req.auth = {
|
|
20078
|
+
user,
|
|
20079
|
+
roles,
|
|
20080
|
+
};
|
|
20081
|
+
}
|
|
20082
|
+
}
|
|
20083
|
+
next();
|
|
20084
|
+
}
|
|
20085
|
+
async getUserFromToken(parsedToken) {
|
|
20086
|
+
return await this.authService.usersService.getById(parsedToken.userId);
|
|
20087
|
+
}
|
|
20088
|
+
async getUserRoles(user) {
|
|
20089
|
+
return await this.authService.userRolesService.getUserRoles(user.id);
|
|
20090
|
+
}
|
|
20091
|
+
extractTokenFromHeader(request) {
|
|
20092
|
+
const [type, token] = request.headers.authorization?.split(" ") ?? [];
|
|
20093
|
+
return type === "Bearer" ? token : undefined;
|
|
20094
|
+
}
|
|
20095
|
+
};
|
|
20096
|
+
AuthenticationMiddleware = __decorate([
|
|
20097
|
+
Injectable(),
|
|
20098
|
+
__metadata("design:paramtypes", [AuthenticationService])
|
|
20099
|
+
], AuthenticationMiddleware);
|
|
20100
|
+
|
|
19895
20101
|
var AuthenticationModule_1;
|
|
19896
20102
|
const ModuleData$2 = {
|
|
19897
20103
|
imports: [EntityManagerModule, JwtModule],
|
|
19898
20104
|
providers: [
|
|
19899
20105
|
AuthenticationServicesResolver,
|
|
19900
20106
|
AuthenticationInitializer,
|
|
19901
|
-
|
|
20107
|
+
AuthGuard,
|
|
20108
|
+
...Services$2,
|
|
19902
20109
|
...UserHandlers,
|
|
19903
20110
|
...AuthenticationProviders,
|
|
19904
20111
|
],
|
|
19905
|
-
exports: [...Services$
|
|
20112
|
+
exports: [...Services$2],
|
|
19906
20113
|
};
|
|
19907
20114
|
let AuthenticationModule = AuthenticationModule_1 = class AuthenticationModule {
|
|
19908
20115
|
static forRoot(input) {
|
|
@@ -19912,6 +20119,13 @@ let AuthenticationModule = AuthenticationModule_1 = class AuthenticationModule {
|
|
|
19912
20119
|
...ModuleData$2,
|
|
19913
20120
|
};
|
|
19914
20121
|
}
|
|
20122
|
+
configure(consumer) {
|
|
20123
|
+
consumer
|
|
20124
|
+
.apply(appSessionMiddleware)
|
|
20125
|
+
.forRoutes("*")
|
|
20126
|
+
.apply(AuthenticationMiddleware)
|
|
20127
|
+
.forRoutes("*");
|
|
20128
|
+
}
|
|
19915
20129
|
};
|
|
19916
20130
|
AuthenticationModule = AuthenticationModule_1 = __decorate([
|
|
19917
20131
|
Module({
|
|
@@ -19919,10 +20133,41 @@ AuthenticationModule = AuthenticationModule_1 = __decorate([
|
|
|
19919
20133
|
})
|
|
19920
20134
|
], AuthenticationModule);
|
|
19921
20135
|
|
|
20136
|
+
let OrganizationInitializerService = class OrganizationInitializerService {
|
|
20137
|
+
constructor(registry) {
|
|
20138
|
+
this.registry = registry;
|
|
20139
|
+
}
|
|
20140
|
+
async execute(template) { }
|
|
20141
|
+
};
|
|
20142
|
+
OrganizationInitializerService = __decorate([
|
|
20143
|
+
Injectable(),
|
|
20144
|
+
__metadata("design:paramtypes", [EntityManagerRegistry])
|
|
20145
|
+
], OrganizationInitializerService);
|
|
20146
|
+
|
|
20147
|
+
let TenantInitializerService = class TenantInitializerService {
|
|
20148
|
+
constructor(registry) {
|
|
20149
|
+
this.registry = registry;
|
|
20150
|
+
}
|
|
20151
|
+
async execute(template) { }
|
|
20152
|
+
};
|
|
20153
|
+
TenantInitializerService = __decorate([
|
|
20154
|
+
Injectable(),
|
|
20155
|
+
__metadata("design:paramtypes", [EntityManagerRegistry])
|
|
20156
|
+
], TenantInitializerService);
|
|
20157
|
+
|
|
20158
|
+
const Services = [
|
|
20159
|
+
OrganizationInitializerService,
|
|
20160
|
+
TenantInitializerService,
|
|
20161
|
+
];
|
|
20162
|
+
|
|
19922
20163
|
let MultiTenancyModule = class MultiTenancyModule {
|
|
19923
20164
|
};
|
|
19924
20165
|
MultiTenancyModule = __decorate([
|
|
19925
|
-
Module({
|
|
20166
|
+
Module({
|
|
20167
|
+
imports: [EntityManagerModule],
|
|
20168
|
+
providers: [...Providers, ...Services],
|
|
20169
|
+
exports: [...Services],
|
|
20170
|
+
})
|
|
19926
20171
|
], MultiTenancyModule);
|
|
19927
20172
|
|
|
19928
20173
|
class QueryBuilderBase {
|
|
@@ -19972,7 +20217,7 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
19972
20217
|
...(context ? this.buildContextFilter(context) : {}),
|
|
19973
20218
|
...this.buildWhereClause(request),
|
|
19974
20219
|
},
|
|
19975
|
-
relations: this.getRelationsToLoad(request),
|
|
20220
|
+
relations: this.getRelationsToLoad(request, context),
|
|
19976
20221
|
...this.buildPagingParameters(request),
|
|
19977
20222
|
});
|
|
19978
20223
|
}
|
|
@@ -25399,42 +25644,5 @@ SendgridEmailModule = SendgridEmailModule_1 = __decorate([
|
|
|
25399
25644
|
})
|
|
25400
25645
|
], SendgridEmailModule);
|
|
25401
25646
|
|
|
25402
|
-
|
|
25403
|
-
constructor(request, response) {
|
|
25404
|
-
this._map = new Map();
|
|
25405
|
-
this._request = request;
|
|
25406
|
-
this._response = response;
|
|
25407
|
-
}
|
|
25408
|
-
get(key) {
|
|
25409
|
-
return this._map.get(key);
|
|
25410
|
-
}
|
|
25411
|
-
set(key, value) {
|
|
25412
|
-
this._map.set(key, value);
|
|
25413
|
-
}
|
|
25414
|
-
delete(key) {
|
|
25415
|
-
this._map.delete(key);
|
|
25416
|
-
}
|
|
25417
|
-
clear() {
|
|
25418
|
-
this._map.clear();
|
|
25419
|
-
}
|
|
25420
|
-
get request() {
|
|
25421
|
-
return this._request;
|
|
25422
|
-
}
|
|
25423
|
-
get response() {
|
|
25424
|
-
return this._response;
|
|
25425
|
-
}
|
|
25426
|
-
}
|
|
25427
|
-
|
|
25428
|
-
let AppSessionMiddleware = class AppSessionMiddleware {
|
|
25429
|
-
use(req, res, next) {
|
|
25430
|
-
asyncLocalStorage.run(new AppSession(req, res), () => {
|
|
25431
|
-
next();
|
|
25432
|
-
});
|
|
25433
|
-
}
|
|
25434
|
-
};
|
|
25435
|
-
AppSessionMiddleware = __decorate([
|
|
25436
|
-
Injectable()
|
|
25437
|
-
], AppSessionMiddleware);
|
|
25438
|
-
|
|
25439
|
-
export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsEmailModule, AwsSesEmailTemplate, BooleanFacet, BooleanFacetItem, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EventsService, InvalidCredentialsError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NumericFacet, NumericFacetItem, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PlatformEvents, QueryBuilderBase, ReplicationMode, SendgridEmailModule, SendgridEmailTemplate, SortDirection, StringFacet, StringFacetItem, TrackingService, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEventsTracker, WpSendgridEmailTemplate, WpUserService, getLocalizedText, newUuid, renderHandlebarsTemplate };
|
|
25647
|
+
export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsEmailModule, AwsSesEmailTemplate, BooleanFacet, BooleanFacetItem, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EventsService, InvalidCredentialsError, MemberOf, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NumericFacet, NumericFacetItem, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PlatformEvents, Public, QueryBuilderBase, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, StringFacet, StringFacetItem, TrackingService, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEventsTracker, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, getLocalizedText, newUuid, renderHandlebarsTemplate };
|
|
25440
25648
|
//# sourceMappingURL=index.js.map
|