@punks/backend-entity-manager 0.0.185 → 0.0.186

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.
@@ -2,6 +2,7 @@ import { UserCreationHandler } from "./user-create";
2
2
  import { UserDeleteHandler } from "./user-delete";
3
3
  import { UserDisableHandler } from "./user-disable";
4
4
  import { UserEnableHandler } from "./user-enable";
5
+ import { UserImpersonateHandler } from "./user-impersonate";
5
6
  import { UserLoginHandler } from "./user-login";
6
7
  import { UserPasswordChangeHandler } from "./user-password-change";
7
8
  import { UserPasswordResetCompleteHandler } from "./user-password-reset-complete";
@@ -10,4 +11,4 @@ import { UserRegistrationHandler } from "./user-register";
10
11
  import { UserTokenVerifyHandler } from "./user-token-verify";
11
12
  import { UserVerifyCompleteHandler } from "./user-verify-complete";
12
13
  import { UserVerifyRequestHandler } from "./user-verify-request";
13
- export declare const UserHandlers: (typeof UserRegistrationHandler | typeof UserDisableHandler | typeof UserEnableHandler | typeof UserLoginHandler | typeof UserPasswordChangeHandler | typeof UserPasswordResetCompleteHandler | typeof UserPasswordResetRequestHandler | typeof UserVerifyCompleteHandler | typeof UserTokenVerifyHandler | typeof UserVerifyRequestHandler | typeof UserCreationHandler | typeof UserDeleteHandler)[];
14
+ export declare const UserHandlers: (typeof UserRegistrationHandler | typeof UserDisableHandler | typeof UserEnableHandler | typeof UserLoginHandler | typeof UserPasswordChangeHandler | typeof UserPasswordResetCompleteHandler | typeof UserPasswordResetRequestHandler | typeof UserVerifyCompleteHandler | typeof UserTokenVerifyHandler | typeof UserVerifyRequestHandler | typeof UserCreationHandler | typeof UserDeleteHandler | typeof UserImpersonateHandler)[];
@@ -0,0 +1,12 @@
1
+ import { AuthenticationServicesResolver } from "../../resolver";
2
+ import { JwtProvider } from "../../providers/jwt";
3
+ import { IAuthUserContext } from "../../abstractions";
4
+ import { UserImpersonateInput, UserImpersonateResult } from "./types";
5
+ export declare class UserImpersonateHandler {
6
+ private readonly services;
7
+ private readonly jwtProvider;
8
+ constructor(services: AuthenticationServicesResolver, jwtProvider: JwtProvider);
9
+ execute<TUserContext extends IAuthUserContext>(input: UserImpersonateInput<TUserContext>): Promise<UserImpersonateResult>;
10
+ private generateUserJwtToken;
11
+ private resolveUser;
12
+ }
@@ -0,0 +1,8 @@
1
+ import { IAuthUserContext } from "../../abstractions";
2
+ export interface UserImpersonateInput<TUserContext extends IAuthUserContext> {
3
+ userName: string;
4
+ context?: TUserContext;
5
+ }
6
+ export interface UserImpersonateResult {
7
+ token: string;
8
+ }
@@ -23,11 +23,14 @@ import { AuthenticationServicesResolver } from "../../resolver";
23
23
  import { UserCreationHandler } from "../../handlers/user-create";
24
24
  import { UserCreationInput, UserDeleteInput } from "../../handlers";
25
25
  import { UserDeleteHandler } from "../../handlers/user-delete";
26
+ import { UserImpersonateHandler } from "../../handlers/user-impersonate";
27
+ import { UserImpersonateInput, UserImpersonateResult } from "../../handlers/user-impersonate/types";
26
28
  export declare class AuthenticationService implements IAuthService {
27
29
  private readonly userCreationHandler;
28
30
  private readonly userDisableHandler;
29
31
  private readonly userDeleteHandler;
30
32
  private readonly userEnableHandler;
33
+ private readonly userImpersonateHandler;
31
34
  private readonly userLoginHandler;
32
35
  private readonly userPasswordChangeHandler;
33
36
  private readonly userPasswordResetFinalizeHandler;
@@ -37,11 +40,12 @@ export declare class AuthenticationService implements IAuthService {
37
40
  private readonly userVerifyRequestHandler;
38
41
  private readonly userVerifyCompleteHandler;
39
42
  private readonly resolver;
40
- constructor(userCreationHandler: UserCreationHandler, userDisableHandler: UserDisableHandler, userDeleteHandler: UserDeleteHandler, userEnableHandler: UserEnableHandler, userLoginHandler: UserLoginHandler, userPasswordChangeHandler: UserPasswordChangeHandler, userPasswordResetFinalizeHandler: UserPasswordResetCompleteHandler, userPasswordResetRequestHandler: UserPasswordResetRequestHandler, userRegistrationHandler: UserRegistrationHandler, userTokenVerifyHandler: UserTokenVerifyHandler, userVerifyRequestHandler: UserVerifyRequestHandler, userVerifyCompleteHandler: UserVerifyCompleteHandler, resolver: AuthenticationServicesResolver);
43
+ constructor(userCreationHandler: UserCreationHandler, userDisableHandler: UserDisableHandler, userDeleteHandler: UserDeleteHandler, userEnableHandler: UserEnableHandler, userImpersonateHandler: UserImpersonateHandler, userLoginHandler: UserLoginHandler, userPasswordChangeHandler: UserPasswordChangeHandler, userPasswordResetFinalizeHandler: UserPasswordResetCompleteHandler, userPasswordResetRequestHandler: UserPasswordResetRequestHandler, userRegistrationHandler: UserRegistrationHandler, userTokenVerifyHandler: UserTokenVerifyHandler, userVerifyRequestHandler: UserVerifyRequestHandler, userVerifyCompleteHandler: UserVerifyCompleteHandler, resolver: AuthenticationServicesResolver);
41
44
  userCreate<TUserRegistrationInfo, TUserContext extends IAuthUserContext>(input: UserCreationInput<TUserRegistrationInfo, TUserContext>): Promise<import("../../handlers").UserCreationResult>;
42
45
  userDisable(input: UserDisableInput): Promise<void>;
43
46
  userDelete(input: UserDeleteInput): Promise<void>;
44
47
  userEnable(input: UserEnableInput): Promise<void>;
48
+ userImpersonate<TUserContext extends IAuthUserContext>(input: UserImpersonateInput<TUserContext>): Promise<UserImpersonateResult>;
45
49
  userLogin<TUserContext extends IAuthUserContext>(input: UserLoginInput<TUserContext>): Promise<UserLoginResult>;
46
50
  userPasswordChange(input: UserPasswordChangeInput): Promise<void>;
47
51
  userPasswordResetFinalize(input: UserPasswordResetCompleteInput): Promise<void>;
package/dist/esm/index.js CHANGED
@@ -21077,12 +21077,43 @@ UserDeleteHandler = __decorate([
21077
21077
  __metadata("design:paramtypes", [AuthenticationServicesResolver])
21078
21078
  ], UserDeleteHandler);
21079
21079
 
21080
+ let UserImpersonateHandler = class UserImpersonateHandler {
21081
+ constructor(services, jwtProvider) {
21082
+ this.services = services;
21083
+ this.jwtProvider = jwtProvider;
21084
+ }
21085
+ async execute(input) {
21086
+ const user = await this.resolveUser(input.userName, input.context);
21087
+ if (!user) {
21088
+ throw new Error(`User ${input.userName} not found`);
21089
+ }
21090
+ return {
21091
+ token: await this.generateUserJwtToken(user, input.context),
21092
+ };
21093
+ }
21094
+ async generateUserJwtToken(user, context) {
21095
+ return await this.jwtProvider.sign(extractUserTokenData(user, context));
21096
+ }
21097
+ async resolveUser(userName, context) {
21098
+ return ((await this.services
21099
+ .getUsersService()
21100
+ .getByUserName(userName, context)) ??
21101
+ (await this.services.getUsersService().getByEmail(userName, context)));
21102
+ }
21103
+ };
21104
+ UserImpersonateHandler = __decorate([
21105
+ Injectable(),
21106
+ __metadata("design:paramtypes", [AuthenticationServicesResolver,
21107
+ JwtProvider])
21108
+ ], UserImpersonateHandler);
21109
+
21080
21110
  let AuthenticationService = class AuthenticationService {
21081
- constructor(userCreationHandler, userDisableHandler, userDeleteHandler, userEnableHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler, resolver) {
21111
+ constructor(userCreationHandler, userDisableHandler, userDeleteHandler, userEnableHandler, userImpersonateHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler, resolver) {
21082
21112
  this.userCreationHandler = userCreationHandler;
21083
21113
  this.userDisableHandler = userDisableHandler;
21084
21114
  this.userDeleteHandler = userDeleteHandler;
21085
21115
  this.userEnableHandler = userEnableHandler;
21116
+ this.userImpersonateHandler = userImpersonateHandler;
21086
21117
  this.userLoginHandler = userLoginHandler;
21087
21118
  this.userPasswordChangeHandler = userPasswordChangeHandler;
21088
21119
  this.userPasswordResetFinalizeHandler = userPasswordResetFinalizeHandler;
@@ -21105,6 +21136,9 @@ let AuthenticationService = class AuthenticationService {
21105
21136
  async userEnable(input) {
21106
21137
  await this.userEnableHandler.execute(input);
21107
21138
  }
21139
+ async userImpersonate(input) {
21140
+ return await this.userImpersonateHandler.execute(input);
21141
+ }
21108
21142
  async userLogin(input) {
21109
21143
  return await this.userLoginHandler.execute(input);
21110
21144
  }
@@ -21145,6 +21179,7 @@ AuthenticationService = __decorate([
21145
21179
  UserDisableHandler,
21146
21180
  UserDeleteHandler,
21147
21181
  UserEnableHandler,
21182
+ UserImpersonateHandler,
21148
21183
  UserLoginHandler,
21149
21184
  UserPasswordChangeHandler,
21150
21185
  UserPasswordResetCompleteHandler,
@@ -21917,6 +21952,7 @@ const UserHandlers = [
21917
21952
  UserDisableHandler,
21918
21953
  UserDeleteHandler,
21919
21954
  UserEnableHandler,
21955
+ UserImpersonateHandler,
21920
21956
  UserLoginHandler,
21921
21957
  UserPasswordChangeHandler,
21922
21958
  UserPasswordResetCompleteHandler,