@punks/backend-entity-manager 0.0.267 → 0.0.269

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.
Files changed (40) hide show
  1. package/dist/cjs/index.js +57 -3
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/handlers.d.ts +2 -1
  4. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-create/types.d.ts +4 -4
  5. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-delete/types.d.ts +2 -2
  6. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-disable/types.d.ts +2 -2
  7. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-enable/types.d.ts +2 -2
  8. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-impersonate/types.d.ts +4 -4
  9. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-invitation-send/index.d.ts +13 -0
  10. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-invitation-send/types.d.ts +6 -0
  11. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-login/types.d.ts +4 -4
  12. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-password-change/types.d.ts +2 -2
  13. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-password-reset-complete/types.d.ts +2 -2
  14. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-password-reset-request/types.d.ts +4 -4
  15. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-register/types.d.ts +5 -5
  16. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-token-verify/types.d.ts +4 -4
  17. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-verify-complete/types.d.ts +2 -2
  18. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-verify-request/types.d.ts +4 -4
  19. package/dist/cjs/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +5 -1
  20. package/dist/esm/index.js +57 -3
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/handlers.d.ts +2 -1
  23. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-create/types.d.ts +4 -4
  24. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-delete/types.d.ts +2 -2
  25. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-disable/types.d.ts +2 -2
  26. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-enable/types.d.ts +2 -2
  27. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-impersonate/types.d.ts +4 -4
  28. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-invitation-send/index.d.ts +13 -0
  29. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-invitation-send/types.d.ts +6 -0
  30. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-login/types.d.ts +4 -4
  31. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-password-change/types.d.ts +2 -2
  32. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-password-reset-complete/types.d.ts +2 -2
  33. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-password-reset-request/types.d.ts +4 -4
  34. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-register/types.d.ts +5 -5
  35. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-token-verify/types.d.ts +4 -4
  36. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-verify-complete/types.d.ts +2 -2
  37. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-verify-request/types.d.ts +4 -4
  38. package/dist/esm/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +5 -1
  39. package/dist/index.d.ts +60 -42
  40. package/package.json +1 -1
@@ -3,6 +3,7 @@ import { UserDeleteHandler } from "./user-delete";
3
3
  import { UserDisableHandler } from "./user-disable";
4
4
  import { UserEnableHandler } from "./user-enable";
5
5
  import { UserImpersonateHandler } from "./user-impersonate";
6
+ import { UserInvitationSendHandler } from "./user-invitation-send";
6
7
  import { UserLoginHandler } from "./user-login";
7
8
  import { UserPasswordChangeHandler } from "./user-password-change";
8
9
  import { UserPasswordResetCompleteHandler } from "./user-password-reset-complete";
@@ -11,4 +12,4 @@ import { UserRegistrationHandler } from "./user-register";
11
12
  import { UserTokenVerifyHandler } from "./user-token-verify";
12
13
  import { UserVerifyCompleteHandler } from "./user-verify-complete";
13
14
  import { UserVerifyRequestHandler } from "./user-verify-request";
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)[];
15
+ 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 | typeof UserInvitationSendHandler)[];
@@ -2,15 +2,15 @@ import { IAuthUserContext } from "../../abstractions";
2
2
  export declare enum UserCreationError {
3
3
  UserAlreadyExists = "userAlreadyExists"
4
4
  }
5
- export interface UserCreationInput<TUserRegistrationInfo, TUserContext extends IAuthUserContext> {
5
+ export type UserCreationInput<TUserRegistrationInfo, TUserContext extends IAuthUserContext> = {
6
6
  email: string;
7
7
  userName: string;
8
8
  password: string;
9
9
  registrationInfo: TUserRegistrationInfo;
10
10
  context?: TUserContext;
11
- }
12
- export interface UserCreationResult {
11
+ };
12
+ export type UserCreationResult = {
13
13
  success: boolean;
14
14
  error?: UserCreationError;
15
15
  userId?: string;
16
- }
16
+ };
@@ -1,3 +1,3 @@
1
- export interface UserDeleteInput {
1
+ export type UserDeleteInput = {
2
2
  userId: string;
3
- }
3
+ };
@@ -1,3 +1,3 @@
1
- export interface UserDisableInput {
1
+ export type UserDisableInput = {
2
2
  userId: string;
3
- }
3
+ };
@@ -1,3 +1,3 @@
1
- export interface UserEnableInput {
1
+ export type UserEnableInput = {
2
2
  userId: string;
3
- }
3
+ };
@@ -1,8 +1,8 @@
1
1
  import { IAuthUserContext } from "../../abstractions";
2
- export interface UserImpersonateInput<TUserContext extends IAuthUserContext> {
2
+ export type UserImpersonateInput<TUserContext extends IAuthUserContext> = {
3
3
  userName: string;
4
4
  context?: TUserContext;
5
- }
6
- export interface UserImpersonateResult {
5
+ };
6
+ export type UserImpersonateResult = {
7
7
  token: string;
8
- }
8
+ };
@@ -0,0 +1,13 @@
1
+ import { AuthenticationServicesResolver } from "../../resolver";
2
+ import { EmailService } from "../../../../services";
3
+ import { JwtProvider } from "../../providers/jwt";
4
+ import { UserInvitationSendInput } from "./types";
5
+ export declare class UserInvitationSendHandler {
6
+ private readonly services;
7
+ private readonly emailService;
8
+ private readonly jwtProvider;
9
+ constructor(services: AuthenticationServicesResolver, emailService: EmailService, jwtProvider: JwtProvider);
10
+ execute(input: UserInvitationSendInput): Promise<void>;
11
+ private sendRegistrationEmail;
12
+ private generateEmailVerifyToken;
13
+ }
@@ -0,0 +1,6 @@
1
+ import { UserRegisterCallbackTemplate } from "../user-register/types";
2
+ export type UserInvitationSendInput = {
3
+ userId: string;
4
+ callback: UserRegisterCallbackTemplate;
5
+ languageId: string;
6
+ };
@@ -1,10 +1,10 @@
1
1
  import { IAuthUserContext } from "../../abstractions";
2
- export interface UserLoginInput<TUserContext extends IAuthUserContext> {
2
+ export type UserLoginInput<TUserContext extends IAuthUserContext> = {
3
3
  userName: string;
4
4
  password: string;
5
5
  context?: TUserContext;
6
- }
7
- export interface UserLoginResult {
6
+ };
7
+ export type UserLoginResult = {
8
8
  token?: string;
9
9
  success: boolean;
10
- }
10
+ };
@@ -1,5 +1,5 @@
1
- export interface UserPasswordChangeInput {
1
+ export type UserPasswordChangeInput = {
2
2
  userId: string;
3
3
  newPassword: string;
4
4
  temporary: boolean;
5
- }
5
+ };
@@ -1,5 +1,5 @@
1
- export interface UserPasswordResetCompleteInput {
1
+ export type UserPasswordResetCompleteInput = {
2
2
  token: string;
3
3
  newPassword: string;
4
4
  temporary?: boolean;
5
- }
5
+ };
@@ -3,12 +3,12 @@ export type UserPasswordResetRequestCallbackTemplate = {
3
3
  urlTemplate: string;
4
4
  tokenPlaceholder: string;
5
5
  };
6
- export interface UserPasswordResetRequestInput<TUserContext extends IAuthUserContext> {
6
+ export type UserPasswordResetRequestInput<TUserContext extends IAuthUserContext> = {
7
7
  email: string;
8
8
  callback: UserPasswordResetRequestCallbackTemplate;
9
9
  languageCode: string;
10
10
  context?: TUserContext;
11
- }
12
- export interface UserPasswordResetRequestResult {
11
+ };
12
+ export type UserPasswordResetRequestResult = {
13
13
  success: boolean;
14
- }
14
+ };
@@ -4,17 +4,17 @@ export type UserRegisterCallbackTemplate = {
4
4
  urlTemplate: string;
5
5
  tokenPlaceholder: string;
6
6
  };
7
- export interface UserRegistrationInput<TUserRegistrationInfo, TUserContext extends IAuthUserContext> {
7
+ export type UserRegistrationInput<TUserRegistrationInfo, TUserContext extends IAuthUserContext> = {
8
8
  email: string;
9
9
  userName: string;
10
10
  password: string;
11
11
  registrationInfo: TUserRegistrationInfo;
12
- callback: UserRegisterCallbackTemplate;
12
+ callback?: UserRegisterCallbackTemplate;
13
13
  languageCode: string;
14
14
  context?: TUserContext;
15
- }
16
- export interface UserRegistrationResult {
15
+ };
16
+ export type UserRegistrationResult = {
17
17
  success: boolean;
18
18
  error?: UserRegistrationError;
19
19
  userId?: string;
20
- }
20
+ };
@@ -1,8 +1,8 @@
1
1
  import { IAuthUserContext, IAuthUserTokenData } from "../../abstractions";
2
- export interface UserTokenVerifyResult<TUserContext extends IAuthUserContext> {
2
+ export type UserTokenVerifyResult<TUserContext extends IAuthUserContext> = {
3
3
  isValid: boolean;
4
4
  data: IAuthUserTokenData<TUserContext>;
5
- }
6
- export interface UserTokenVerifyInput {
5
+ };
6
+ export type UserTokenVerifyInput = {
7
7
  token: string;
8
- }
8
+ };
@@ -1,3 +1,3 @@
1
- export interface UserVerifyCompleteInput {
1
+ export type UserVerifyCompleteInput = {
2
2
  token: string;
3
- }
3
+ };
@@ -1,13 +1,13 @@
1
1
  import { IAuthUserContext } from "../../abstractions";
2
- export interface UserVerifyRequestInput<TUserContext extends IAuthUserContext> {
2
+ export type UserVerifyRequestInput<TUserContext extends IAuthUserContext> = {
3
3
  email: string;
4
4
  callback: UserVerifyRequestCallbackTemplate;
5
5
  languageCode: string;
6
6
  context?: TUserContext;
7
- }
8
- export interface UserVerifyRequestResult {
7
+ };
8
+ export type UserVerifyRequestResult = {
9
9
  success: boolean;
10
- }
10
+ };
11
11
  export type UserVerifyRequestCallbackTemplate = {
12
12
  urlTemplate: string;
13
13
  tokenPlaceholder: string;
@@ -25,6 +25,8 @@ import { UserCreationInput, UserDeleteInput } from "../../handlers";
25
25
  import { UserDeleteHandler } from "../../handlers/user-delete";
26
26
  import { UserImpersonateHandler } from "../../handlers/user-impersonate";
27
27
  import { UserImpersonateInput, UserImpersonateResult } from "../../handlers/user-impersonate/types";
28
+ import { UserInvitationSendHandler } from "../../handlers/user-invitation-send";
29
+ import { UserInvitationSendInput } from "../../handlers/user-invitation-send/types";
28
30
  export declare class AuthenticationService implements IAuthService {
29
31
  private readonly userCreationHandler;
30
32
  private readonly userDisableHandler;
@@ -39,9 +41,11 @@ export declare class AuthenticationService implements IAuthService {
39
41
  private readonly userTokenVerifyHandler;
40
42
  private readonly userVerifyRequestHandler;
41
43
  private readonly userVerifyCompleteHandler;
44
+ private readonly userInvitationHandler;
42
45
  private readonly resolver;
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);
46
+ 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, userInvitationHandler: UserInvitationSendHandler, resolver: AuthenticationServicesResolver);
44
47
  userCreate<TUserRegistrationInfo, TUserContext extends IAuthUserContext>(input: UserCreationInput<TUserRegistrationInfo, TUserContext>): Promise<import("../../handlers").UserCreationResult>;
48
+ userInvitationSend(input: UserInvitationSendInput): Promise<void>;
45
49
  userDisable(input: UserDisableInput): Promise<void>;
46
50
  userDelete(input: UserDeleteInput): Promise<void>;
47
51
  userEnable(input: UserEnableInput): Promise<void>;
package/dist/esm/index.js CHANGED
@@ -22396,7 +22396,9 @@ let UserRegistrationHandler = class UserRegistrationHandler {
22396
22396
  passwordHash,
22397
22397
  passwordUpdateTimestamp: new Date(),
22398
22398
  });
22399
- await this.sendRegistrationEmail(user, input.callback, input.languageCode);
22399
+ if (input.callback) {
22400
+ await this.sendRegistrationEmail(user, input.callback, input.languageCode);
22401
+ }
22400
22402
  this.logger.debug(`User already exists but not verified. Sending new verification email: ${input.email} - ${input.userName}`, { user });
22401
22403
  return {
22402
22404
  success: true,
@@ -22409,7 +22411,9 @@ let UserRegistrationHandler = class UserRegistrationHandler {
22409
22411
  passwordHash,
22410
22412
  passwordUpdateTimestamp: new Date(),
22411
22413
  });
22412
- await this.sendRegistrationEmail(newUser, input.callback, input.languageCode);
22414
+ if (input.callback) {
22415
+ await this.sendRegistrationEmail(newUser, input.callback, input.languageCode);
22416
+ }
22413
22417
  this.logger.debug(`New user created: ${input.email} - ${input.userName}`, {
22414
22418
  user: newUser,
22415
22419
  });
@@ -22892,8 +22896,52 @@ UserImpersonateHandler = __decorate([
22892
22896
  JwtProvider])
22893
22897
  ], UserImpersonateHandler);
22894
22898
 
22899
+ let UserInvitationSendHandler = class UserInvitationSendHandler {
22900
+ constructor(services, emailService, jwtProvider) {
22901
+ this.services = services;
22902
+ this.emailService = emailService;
22903
+ this.jwtProvider = jwtProvider;
22904
+ }
22905
+ async execute(input) {
22906
+ const user = await this.services.getUsersService().getById(input.userId);
22907
+ if (!user) {
22908
+ throw new Error(`User not found ${input.userId}`);
22909
+ }
22910
+ await this.sendRegistrationEmail(user, {
22911
+ tokenPlaceholder: input.callback.tokenPlaceholder,
22912
+ urlTemplate: input.callback.urlTemplate,
22913
+ }, input.languageId);
22914
+ }
22915
+ async sendRegistrationEmail(user, callback, languageId) {
22916
+ const token = await this.generateEmailVerifyToken(user);
22917
+ await this.emailService.sendTemplatedEmail({
22918
+ to: [user.email],
22919
+ templateId: AuthenticationEmailTemplates.Registration,
22920
+ languageCode: languageId,
22921
+ payload: {
22922
+ firstName: user.profile.firstName,
22923
+ lastName: user.profile.lastName,
22924
+ callbackUrl: callback.urlTemplate.replace(callback.tokenPlaceholder, token),
22925
+ },
22926
+ });
22927
+ }
22928
+ async generateEmailVerifyToken(user) {
22929
+ return await this.jwtProvider.sign({
22930
+ email: user.email,
22931
+ userId: user.id,
22932
+ timestamp: Date.now(),
22933
+ });
22934
+ }
22935
+ };
22936
+ UserInvitationSendHandler = __decorate([
22937
+ Injectable(),
22938
+ __metadata("design:paramtypes", [AuthenticationServicesResolver,
22939
+ EmailService,
22940
+ JwtProvider])
22941
+ ], UserInvitationSendHandler);
22942
+
22895
22943
  let AuthenticationService = class AuthenticationService {
22896
- constructor(userCreationHandler, userDisableHandler, userDeleteHandler, userEnableHandler, userImpersonateHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler, resolver) {
22944
+ constructor(userCreationHandler, userDisableHandler, userDeleteHandler, userEnableHandler, userImpersonateHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler, userInvitationHandler, resolver) {
22897
22945
  this.userCreationHandler = userCreationHandler;
22898
22946
  this.userDisableHandler = userDisableHandler;
22899
22947
  this.userDeleteHandler = userDeleteHandler;
@@ -22907,11 +22955,15 @@ let AuthenticationService = class AuthenticationService {
22907
22955
  this.userTokenVerifyHandler = userTokenVerifyHandler;
22908
22956
  this.userVerifyRequestHandler = userVerifyRequestHandler;
22909
22957
  this.userVerifyCompleteHandler = userVerifyCompleteHandler;
22958
+ this.userInvitationHandler = userInvitationHandler;
22910
22959
  this.resolver = resolver;
22911
22960
  }
22912
22961
  async userCreate(input) {
22913
22962
  return await this.userCreationHandler.execute(input);
22914
22963
  }
22964
+ async userInvitationSend(input) {
22965
+ await this.userInvitationHandler.execute(input);
22966
+ }
22915
22967
  async userDisable(input) {
22916
22968
  await this.userDisableHandler.execute(input);
22917
22969
  }
@@ -22976,6 +23028,7 @@ AuthenticationService = __decorate([
22976
23028
  UserTokenVerifyHandler,
22977
23029
  UserVerifyRequestHandler,
22978
23030
  UserVerifyCompleteHandler,
23031
+ UserInvitationSendHandler,
22979
23032
  AuthenticationServicesResolver])
22980
23033
  ], AuthenticationService);
22981
23034
 
@@ -23603,6 +23656,7 @@ const UserHandlers = [
23603
23656
  UserDeleteHandler,
23604
23657
  UserEnableHandler,
23605
23658
  UserImpersonateHandler,
23659
+ UserInvitationSendHandler,
23606
23660
  UserLoginHandler,
23607
23661
  UserPasswordChangeHandler,
23608
23662
  UserPasswordResetCompleteHandler,