@punks/backend-entity-manager 0.0.65 → 0.0.68
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 +220 -51
- 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} +8 -8
- 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/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/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__/server/infrastructure/authentication/guards/auth-guard/index.d.ts +13 -0
- 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 +34 -12
- package/dist/cjs/types/platforms/nest/extensions/authentication/converters/index.d.ts +2 -2
- 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/handlers/user-login/index.d.ts +2 -2
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-login/types.d.ts +2 -2
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-password-reset-request/index.d.ts +2 -2
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-password-reset-request/types.d.ts +2 -2
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-register/index.d.ts +2 -2
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-register/types.d.ts +3 -2
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-token-verify/index.d.ts +2 -2
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-token-verify/types.d.ts +3 -3
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-verify-request/index.d.ts +2 -2
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-verify-request/types.d.ts +2 -2
- 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 +9 -3
- package/dist/cjs/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +13 -8
- package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/abstractions/index.d.ts +1 -39
- package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/abstractions/models.d.ts +51 -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/index.d.ts +1 -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 +215 -52
- 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} +8 -8
- 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/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/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__/server/infrastructure/authentication/guards/auth-guard/index.d.ts +13 -0
- 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 +34 -12
- package/dist/esm/types/platforms/nest/extensions/authentication/converters/index.d.ts +2 -2
- 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/handlers/user-login/index.d.ts +2 -2
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-login/types.d.ts +2 -2
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-password-reset-request/index.d.ts +2 -2
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-password-reset-request/types.d.ts +2 -2
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-register/index.d.ts +2 -2
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-register/types.d.ts +3 -2
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-token-verify/index.d.ts +2 -2
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-token-verify/types.d.ts +3 -3
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-verify-request/index.d.ts +2 -2
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-verify-request/types.d.ts +2 -2
- 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 +9 -3
- package/dist/esm/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +13 -8
- package/dist/esm/types/platforms/nest/extensions/multi-tenancy/abstractions/index.d.ts +1 -39
- package/dist/esm/types/platforms/nest/extensions/multi-tenancy/abstractions/models.d.ts +51 -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/index.d.ts +1 -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 +134 -36
- package/package.json +1 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { OrganizationTemplate } from "../../types";
|
|
2
|
+
import { IAppCompany, IAppUser, IAppUserGroup } from "../../abstractions";
|
|
3
|
+
import { EntityManagerRegistry } from "../../../../ioc";
|
|
4
|
+
export declare class OrganizationInitializerService {
|
|
5
|
+
private readonly registry;
|
|
6
|
+
constructor(registry: EntityManagerRegistry);
|
|
7
|
+
execute<TCompany extends IAppCompany, TUser extends IAppUser, TUserGroup extends IAppUserGroup>(template: OrganizationTemplate<TCompany, TUser, TUserGroup>): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TenantTemplate } from "../../types";
|
|
2
|
+
import { IAppTenant, IAppUser } from "../../abstractions";
|
|
3
|
+
import { EntityManagerRegistry } from "../../../../ioc";
|
|
4
|
+
export declare class TenantInitializerService {
|
|
5
|
+
private readonly registry;
|
|
6
|
+
constructor(registry: EntityManagerRegistry);
|
|
7
|
+
execute<TTenant extends IAppTenant, TUser extends IAppUser>(template: TenantTemplate<TTenant, TUser>): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { OrganizationAdmin, OrganizationTemplate, TenantAdmin, TenantTemplate, } from "./templates";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IAppCompany, IAppTenant, IAppUser, IAppUserGroup } from "../abstractions";
|
|
2
|
+
export type TenantAdmin<TUser extends IAppUser> = {
|
|
3
|
+
user: Partial<TUser>;
|
|
4
|
+
password: string;
|
|
5
|
+
};
|
|
6
|
+
export type TenantTemplate<TTenant extends IAppTenant, TUser extends IAppUser> = {
|
|
7
|
+
tenant: Partial<TTenant>;
|
|
8
|
+
defaultAdmin?: TenantAdmin<TUser>;
|
|
9
|
+
};
|
|
10
|
+
export type OrganizationAdmin<TUser extends IAppUser> = {
|
|
11
|
+
user: Partial<TUser>;
|
|
12
|
+
password: string;
|
|
13
|
+
};
|
|
14
|
+
export type OrganizationTemplate<TCompany extends IAppCompany, TUser extends IAppUser, TUserGroup extends IAppUserGroup> = {
|
|
15
|
+
tenant: Partial<TCompany["organization"]["tenant"]>;
|
|
16
|
+
organization: Partial<TCompany["organization"]>;
|
|
17
|
+
company: Partial<TCompany>;
|
|
18
|
+
groups: Partial<TUserGroup>[];
|
|
19
|
+
defaultAdmin?: OrganizationAdmin<TUser>;
|
|
20
|
+
};
|
package/dist/esm/index.js
CHANGED
|
@@ -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"),
|
|
315
317
|
};
|
|
318
|
+
const AuthenticationGuardsSymbols = {
|
|
319
|
+
Authenticated: "guard:authenticated",
|
|
320
|
+
Public: "guard:public",
|
|
321
|
+
Roles: "guard:roles",
|
|
322
|
+
MemberOf: "guard:memberOf",
|
|
323
|
+
};
|
|
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));
|
|
316
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",
|
|
@@ -19073,12 +19090,30 @@ let AuthenticationServicesResolver = class AuthenticationServicesResolver {
|
|
|
19073
19090
|
registerUsersService(usersService) {
|
|
19074
19091
|
this.usersService = usersService;
|
|
19075
19092
|
}
|
|
19093
|
+
registerRoleService(rolesService) {
|
|
19094
|
+
this.rolesService = rolesService;
|
|
19095
|
+
}
|
|
19096
|
+
registerUserRolesService(userRolesService) {
|
|
19097
|
+
this.usersRolesService = userRolesService;
|
|
19098
|
+
}
|
|
19076
19099
|
getUsersService() {
|
|
19077
19100
|
if (!this.usersService) {
|
|
19078
19101
|
throw new Error("Users service is not registered");
|
|
19079
19102
|
}
|
|
19080
19103
|
return this.usersService;
|
|
19081
19104
|
}
|
|
19105
|
+
getRoleService() {
|
|
19106
|
+
if (!this.rolesService) {
|
|
19107
|
+
throw new Error("Roles service is not registered");
|
|
19108
|
+
}
|
|
19109
|
+
return this.rolesService;
|
|
19110
|
+
}
|
|
19111
|
+
getUserRoleService() {
|
|
19112
|
+
if (!this.usersRolesService) {
|
|
19113
|
+
throw new Error("User roles service is not registered");
|
|
19114
|
+
}
|
|
19115
|
+
return this.usersRolesService;
|
|
19116
|
+
}
|
|
19082
19117
|
};
|
|
19083
19118
|
AuthenticationServicesResolver = __decorate([
|
|
19084
19119
|
Injectable()
|
|
@@ -19187,6 +19222,7 @@ let UserRegistrationHandler = class UserRegistrationHandler {
|
|
|
19187
19222
|
this.logger.debug(`User already exists but not verified. Sending new verification email: ${input.email} - ${input.userName}`, { user });
|
|
19188
19223
|
return {
|
|
19189
19224
|
success: true,
|
|
19225
|
+
userId: user.id,
|
|
19190
19226
|
};
|
|
19191
19227
|
}
|
|
19192
19228
|
const newUser = await this.createUser(input.email, input.registrationInfo, input.context);
|
|
@@ -19201,6 +19237,7 @@ let UserRegistrationHandler = class UserRegistrationHandler {
|
|
|
19201
19237
|
});
|
|
19202
19238
|
return {
|
|
19203
19239
|
success: true,
|
|
19240
|
+
userId: newUser.id,
|
|
19204
19241
|
};
|
|
19205
19242
|
}
|
|
19206
19243
|
async createPasswordHash(password, userId) {
|
|
@@ -19565,7 +19602,7 @@ UserVerifyRequestHandler = __decorate([
|
|
|
19565
19602
|
], UserVerifyRequestHandler);
|
|
19566
19603
|
|
|
19567
19604
|
let AuthenticationService = class AuthenticationService {
|
|
19568
|
-
constructor(userDisableHandler, userEnableHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler) {
|
|
19605
|
+
constructor(userDisableHandler, userEnableHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler, resolver) {
|
|
19569
19606
|
this.userDisableHandler = userDisableHandler;
|
|
19570
19607
|
this.userEnableHandler = userEnableHandler;
|
|
19571
19608
|
this.userLoginHandler = userLoginHandler;
|
|
@@ -19576,6 +19613,7 @@ let AuthenticationService = class AuthenticationService {
|
|
|
19576
19613
|
this.userTokenVerifyHandler = userTokenVerifyHandler;
|
|
19577
19614
|
this.userVerifyRequestHandler = userVerifyRequestHandler;
|
|
19578
19615
|
this.userVerifyCompleteHandler = userVerifyCompleteHandler;
|
|
19616
|
+
this.resolver = resolver;
|
|
19579
19617
|
}
|
|
19580
19618
|
async userDisable(input) {
|
|
19581
19619
|
await this.userDisableHandler.execute(input);
|
|
@@ -19607,6 +19645,15 @@ let AuthenticationService = class AuthenticationService {
|
|
|
19607
19645
|
async userTokenVerify(input) {
|
|
19608
19646
|
return await this.userTokenVerifyHandler.execute(input);
|
|
19609
19647
|
}
|
|
19648
|
+
get usersService() {
|
|
19649
|
+
return this.resolver.getUsersService();
|
|
19650
|
+
}
|
|
19651
|
+
get rolesService() {
|
|
19652
|
+
return this.resolver.getRoleService();
|
|
19653
|
+
}
|
|
19654
|
+
get userRolesService() {
|
|
19655
|
+
return this.resolver.getUserRoleService();
|
|
19656
|
+
}
|
|
19610
19657
|
};
|
|
19611
19658
|
AuthenticationService = __decorate([
|
|
19612
19659
|
Injectable(),
|
|
@@ -19619,12 +19666,13 @@ AuthenticationService = __decorate([
|
|
|
19619
19666
|
UserRegistrationHandler,
|
|
19620
19667
|
UserTokenVerifyHandler,
|
|
19621
19668
|
UserVerifyRequestHandler,
|
|
19622
|
-
UserVerifyCompleteHandler
|
|
19669
|
+
UserVerifyCompleteHandler,
|
|
19670
|
+
AuthenticationServicesResolver])
|
|
19623
19671
|
], AuthenticationService);
|
|
19624
19672
|
|
|
19625
|
-
const Services$
|
|
19673
|
+
const Services$2 = [AuthenticationService];
|
|
19626
19674
|
|
|
19627
|
-
const Services = [
|
|
19675
|
+
const Services$1 = [
|
|
19628
19676
|
AppSessionService,
|
|
19629
19677
|
AppHashingService,
|
|
19630
19678
|
EntityManagerService,
|
|
@@ -19847,8 +19895,8 @@ let EntityManagerModule = class EntityManagerModule {
|
|
|
19847
19895
|
EntityManagerModule = __decorate([
|
|
19848
19896
|
Module({
|
|
19849
19897
|
imports: [CustomDiscoveryModule, EventEmitterModule],
|
|
19850
|
-
providers: [...IoC, ...Providers, ...Processors, ...Services],
|
|
19851
|
-
exports: [EntityManagerRegistry, ...Services],
|
|
19898
|
+
providers: [...IoC, ...Providers, ...Processors, ...Services$1],
|
|
19899
|
+
exports: [EntityManagerRegistry, ...Services$1],
|
|
19852
19900
|
})
|
|
19853
19901
|
], EntityManagerModule);
|
|
19854
19902
|
|
|
@@ -19875,16 +19923,44 @@ let AuthenticationInitializer = AuthenticationInitializer_1 = class Authenticati
|
|
|
19875
19923
|
this.logger = new Logger(AuthenticationInitializer_1.name);
|
|
19876
19924
|
}
|
|
19877
19925
|
async initialize(app) {
|
|
19878
|
-
|
|
19879
|
-
|
|
19926
|
+
await this.registerRolesService();
|
|
19927
|
+
await this.registerUsersService();
|
|
19928
|
+
await this.registerUserRolesService();
|
|
19929
|
+
this.logger.log("Authentication initialized 🔑");
|
|
19930
|
+
}
|
|
19931
|
+
async registerRolesService() {
|
|
19932
|
+
const service = await this.discoverRolesService();
|
|
19933
|
+
if (!service) {
|
|
19934
|
+
throw new Error("No roles service found");
|
|
19935
|
+
}
|
|
19936
|
+
this.registry.registerRoleService(service.discoveredClass.instance);
|
|
19937
|
+
this.logger.log(`Authentication roles service ${service.discoveredClass.name} registered`);
|
|
19938
|
+
}
|
|
19939
|
+
async registerUsersService() {
|
|
19940
|
+
const service = await this.discoverUserService();
|
|
19941
|
+
if (!service) {
|
|
19880
19942
|
throw new Error("No user service found");
|
|
19881
19943
|
}
|
|
19882
|
-
this.registry.registerUsersService(
|
|
19883
|
-
this.logger.log(
|
|
19944
|
+
this.registry.registerUsersService(service.discoveredClass.instance);
|
|
19945
|
+
this.logger.log(`Authentication users service ${service.discoveredClass.name} registered`);
|
|
19946
|
+
}
|
|
19947
|
+
async registerUserRolesService() {
|
|
19948
|
+
const service = await this.discoverUserRolesService();
|
|
19949
|
+
if (!service) {
|
|
19950
|
+
throw new Error("No user roles service found");
|
|
19951
|
+
}
|
|
19952
|
+
this.registry.registerUserRolesService(service.discoveredClass.instance);
|
|
19953
|
+
this.logger.log(`Authentication user roles service ${service.discoveredClass.name} registered`);
|
|
19884
19954
|
}
|
|
19885
19955
|
async discoverUserService() {
|
|
19886
19956
|
return await this.discover.providerWithMetaAtKey(AuthenticationExtensionSymbols.UserService);
|
|
19887
19957
|
}
|
|
19958
|
+
async discoverRolesService() {
|
|
19959
|
+
return await this.discover.providerWithMetaAtKey(AuthenticationExtensionSymbols.RolesService);
|
|
19960
|
+
}
|
|
19961
|
+
async discoverUserRolesService() {
|
|
19962
|
+
return await this.discover.providerWithMetaAtKey(AuthenticationExtensionSymbols.UserRolesService);
|
|
19963
|
+
}
|
|
19888
19964
|
};
|
|
19889
19965
|
AuthenticationInitializer = AuthenticationInitializer_1 = __decorate([
|
|
19890
19966
|
WpAppInitializer(),
|
|
@@ -19892,17 +19968,94 @@ AuthenticationInitializer = AuthenticationInitializer_1 = __decorate([
|
|
|
19892
19968
|
AuthenticationServicesResolver])
|
|
19893
19969
|
], AuthenticationInitializer);
|
|
19894
19970
|
|
|
19971
|
+
class AppSession {
|
|
19972
|
+
constructor(request, response) {
|
|
19973
|
+
this._map = new Map();
|
|
19974
|
+
this._request = request;
|
|
19975
|
+
this._response = response;
|
|
19976
|
+
}
|
|
19977
|
+
get(key) {
|
|
19978
|
+
return this._map.get(key);
|
|
19979
|
+
}
|
|
19980
|
+
set(key, value) {
|
|
19981
|
+
this._map.set(key, value);
|
|
19982
|
+
}
|
|
19983
|
+
delete(key) {
|
|
19984
|
+
this._map.delete(key);
|
|
19985
|
+
}
|
|
19986
|
+
clear() {
|
|
19987
|
+
this._map.clear();
|
|
19988
|
+
}
|
|
19989
|
+
get request() {
|
|
19990
|
+
return this._request;
|
|
19991
|
+
}
|
|
19992
|
+
get response() {
|
|
19993
|
+
return this._response;
|
|
19994
|
+
}
|
|
19995
|
+
}
|
|
19996
|
+
|
|
19997
|
+
let AppSessionMiddleware = class AppSessionMiddleware {
|
|
19998
|
+
use(req, res, next) {
|
|
19999
|
+
asyncLocalStorage.run(new AppSession(req, res), () => {
|
|
20000
|
+
next();
|
|
20001
|
+
});
|
|
20002
|
+
}
|
|
20003
|
+
};
|
|
20004
|
+
AppSessionMiddleware = __decorate([
|
|
20005
|
+
Injectable()
|
|
20006
|
+
], AppSessionMiddleware);
|
|
20007
|
+
function appSessionMiddleware(req, res, next) {
|
|
20008
|
+
asyncLocalStorage.run(new AppSession(req, res), () => {
|
|
20009
|
+
next();
|
|
20010
|
+
});
|
|
20011
|
+
}
|
|
20012
|
+
|
|
20013
|
+
let AuthenticationMiddleware = class AuthenticationMiddleware {
|
|
20014
|
+
constructor(authService) {
|
|
20015
|
+
this.authService = authService;
|
|
20016
|
+
}
|
|
20017
|
+
async use(req, res, next) {
|
|
20018
|
+
const token = this.extractTokenFromHeader(req);
|
|
20019
|
+
if (token) {
|
|
20020
|
+
const parsedToken = await this.authService.userTokenVerify({ token });
|
|
20021
|
+
if (parsedToken.isValid) {
|
|
20022
|
+
const user = await this.getUserFromToken(parsedToken.data);
|
|
20023
|
+
const roles = user ? await this.getUserRoles(user) : [];
|
|
20024
|
+
req.auth = {
|
|
20025
|
+
user,
|
|
20026
|
+
roles,
|
|
20027
|
+
};
|
|
20028
|
+
}
|
|
20029
|
+
}
|
|
20030
|
+
next();
|
|
20031
|
+
}
|
|
20032
|
+
async getUserFromToken(parsedToken) {
|
|
20033
|
+
return await this.authService.usersService.getById(parsedToken.userId);
|
|
20034
|
+
}
|
|
20035
|
+
async getUserRoles(user) {
|
|
20036
|
+
return await this.authService.userRolesService.getUserRoles(user.id);
|
|
20037
|
+
}
|
|
20038
|
+
extractTokenFromHeader(request) {
|
|
20039
|
+
const [type, token] = request.headers.authorization?.split(" ") ?? [];
|
|
20040
|
+
return type === "Bearer" ? token : undefined;
|
|
20041
|
+
}
|
|
20042
|
+
};
|
|
20043
|
+
AuthenticationMiddleware = __decorate([
|
|
20044
|
+
Injectable(),
|
|
20045
|
+
__metadata("design:paramtypes", [AuthenticationService])
|
|
20046
|
+
], AuthenticationMiddleware);
|
|
20047
|
+
|
|
19895
20048
|
var AuthenticationModule_1;
|
|
19896
20049
|
const ModuleData$2 = {
|
|
19897
20050
|
imports: [EntityManagerModule, JwtModule],
|
|
19898
20051
|
providers: [
|
|
19899
20052
|
AuthenticationServicesResolver,
|
|
19900
20053
|
AuthenticationInitializer,
|
|
19901
|
-
...Services$
|
|
20054
|
+
...Services$2,
|
|
19902
20055
|
...UserHandlers,
|
|
19903
20056
|
...AuthenticationProviders,
|
|
19904
20057
|
],
|
|
19905
|
-
exports: [...Services$
|
|
20058
|
+
exports: [...Services$2],
|
|
19906
20059
|
};
|
|
19907
20060
|
let AuthenticationModule = AuthenticationModule_1 = class AuthenticationModule {
|
|
19908
20061
|
static forRoot(input) {
|
|
@@ -19912,6 +20065,13 @@ let AuthenticationModule = AuthenticationModule_1 = class AuthenticationModule {
|
|
|
19912
20065
|
...ModuleData$2,
|
|
19913
20066
|
};
|
|
19914
20067
|
}
|
|
20068
|
+
configure(consumer) {
|
|
20069
|
+
consumer
|
|
20070
|
+
.apply(appSessionMiddleware)
|
|
20071
|
+
.forRoutes("*")
|
|
20072
|
+
.apply(AuthenticationMiddleware)
|
|
20073
|
+
.forRoutes("*");
|
|
20074
|
+
}
|
|
19915
20075
|
};
|
|
19916
20076
|
AuthenticationModule = AuthenticationModule_1 = __decorate([
|
|
19917
20077
|
Module({
|
|
@@ -19919,10 +20079,41 @@ AuthenticationModule = AuthenticationModule_1 = __decorate([
|
|
|
19919
20079
|
})
|
|
19920
20080
|
], AuthenticationModule);
|
|
19921
20081
|
|
|
20082
|
+
let OrganizationInitializerService = class OrganizationInitializerService {
|
|
20083
|
+
constructor(registry) {
|
|
20084
|
+
this.registry = registry;
|
|
20085
|
+
}
|
|
20086
|
+
async execute(template) { }
|
|
20087
|
+
};
|
|
20088
|
+
OrganizationInitializerService = __decorate([
|
|
20089
|
+
Injectable(),
|
|
20090
|
+
__metadata("design:paramtypes", [EntityManagerRegistry])
|
|
20091
|
+
], OrganizationInitializerService);
|
|
20092
|
+
|
|
20093
|
+
let TenantInitializerService = class TenantInitializerService {
|
|
20094
|
+
constructor(registry) {
|
|
20095
|
+
this.registry = registry;
|
|
20096
|
+
}
|
|
20097
|
+
async execute(template) { }
|
|
20098
|
+
};
|
|
20099
|
+
TenantInitializerService = __decorate([
|
|
20100
|
+
Injectable(),
|
|
20101
|
+
__metadata("design:paramtypes", [EntityManagerRegistry])
|
|
20102
|
+
], TenantInitializerService);
|
|
20103
|
+
|
|
20104
|
+
const Services = [
|
|
20105
|
+
OrganizationInitializerService,
|
|
20106
|
+
TenantInitializerService,
|
|
20107
|
+
];
|
|
20108
|
+
|
|
19922
20109
|
let MultiTenancyModule = class MultiTenancyModule {
|
|
19923
20110
|
};
|
|
19924
20111
|
MultiTenancyModule = __decorate([
|
|
19925
|
-
Module({
|
|
20112
|
+
Module({
|
|
20113
|
+
imports: [EntityManagerModule],
|
|
20114
|
+
providers: [...Providers, ...Services],
|
|
20115
|
+
exports: [...Services],
|
|
20116
|
+
})
|
|
19926
20117
|
], MultiTenancyModule);
|
|
19927
20118
|
|
|
19928
20119
|
class QueryBuilderBase {
|
|
@@ -19972,7 +20163,7 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
19972
20163
|
...(context ? this.buildContextFilter(context) : {}),
|
|
19973
20164
|
...this.buildWhereClause(request),
|
|
19974
20165
|
},
|
|
19975
|
-
relations: this.getRelationsToLoad(request),
|
|
20166
|
+
relations: this.getRelationsToLoad(request, context),
|
|
19976
20167
|
...this.buildPagingParameters(request),
|
|
19977
20168
|
});
|
|
19978
20169
|
}
|
|
@@ -19995,6 +20186,15 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
|
|
|
19995
20186
|
},
|
|
19996
20187
|
});
|
|
19997
20188
|
}
|
|
20189
|
+
// protected calculateFacet(
|
|
20190
|
+
// request: TEntitySearchParameters,
|
|
20191
|
+
// context: IAuthenticationContext<TUserContext> | undefined
|
|
20192
|
+
// ) {
|
|
20193
|
+
// const repo = this.getRepository().getInnerRepository()
|
|
20194
|
+
// repo.createQueryBuilder().relation("xx").select([]).where({
|
|
20195
|
+
// whereFactory:
|
|
20196
|
+
// }).groupBy().getRawMany()
|
|
20197
|
+
// }
|
|
19998
20198
|
getRepository() {
|
|
19999
20199
|
if (!this.repository) {
|
|
20000
20200
|
this.repository = this.services.resolveRepository();
|
|
@@ -25390,42 +25590,5 @@ SendgridEmailModule = SendgridEmailModule_1 = __decorate([
|
|
|
25390
25590
|
})
|
|
25391
25591
|
], SendgridEmailModule);
|
|
25392
25592
|
|
|
25393
|
-
|
|
25394
|
-
constructor(request, response) {
|
|
25395
|
-
this._map = new Map();
|
|
25396
|
-
this._request = request;
|
|
25397
|
-
this._response = response;
|
|
25398
|
-
}
|
|
25399
|
-
get(key) {
|
|
25400
|
-
return this._map.get(key);
|
|
25401
|
-
}
|
|
25402
|
-
set(key, value) {
|
|
25403
|
-
this._map.set(key, value);
|
|
25404
|
-
}
|
|
25405
|
-
delete(key) {
|
|
25406
|
-
this._map.delete(key);
|
|
25407
|
-
}
|
|
25408
|
-
clear() {
|
|
25409
|
-
this._map.clear();
|
|
25410
|
-
}
|
|
25411
|
-
get request() {
|
|
25412
|
-
return this._request;
|
|
25413
|
-
}
|
|
25414
|
-
get response() {
|
|
25415
|
-
return this._response;
|
|
25416
|
-
}
|
|
25417
|
-
}
|
|
25418
|
-
|
|
25419
|
-
let AppSessionMiddleware = class AppSessionMiddleware {
|
|
25420
|
-
use(req, res, next) {
|
|
25421
|
-
asyncLocalStorage.run(new AppSession(req, res), () => {
|
|
25422
|
-
next();
|
|
25423
|
-
});
|
|
25424
|
-
}
|
|
25425
|
-
};
|
|
25426
|
-
AppSessionMiddleware = __decorate([
|
|
25427
|
-
Injectable()
|
|
25428
|
-
], AppSessionMiddleware);
|
|
25429
|
-
|
|
25430
|
-
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 };
|
|
25593
|
+
export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, 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 };
|
|
25431
25594
|
//# sourceMappingURL=index.js.map
|