@punks/backend-entity-manager 0.0.33 → 0.0.35

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 (99) hide show
  1. package/dist/cjs/index.js +5247 -42
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/abstractions/email.d.ts +4 -4
  4. package/dist/cjs/types/index.d.ts +1 -0
  5. package/dist/cjs/types/platforms/nest/__test__/server/app/auth/auth.actions.d.ts +4 -4
  6. package/dist/cjs/types/platforms/nest/__test__/server/messaging/email/index.d.ts +2 -0
  7. package/dist/cjs/types/platforms/nest/__test__/server/messaging/email/registration.d.ts +2 -0
  8. package/dist/cjs/types/platforms/nest/__test__/server/messaging/module.d.ts +2 -0
  9. package/dist/cjs/types/platforms/nest/__test__/server/services/email-provider/index.d.ts +9 -5
  10. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/index.d.ts +10 -0
  11. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-password-reset-request/types.d.ts +2 -2
  12. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-register/types.d.ts +2 -2
  13. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-verify-request/index.d.ts +2 -2
  14. package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-verify-request/types.d.ts +3 -3
  15. package/dist/cjs/types/platforms/nest/extensions/authentication/index.d.ts +1 -0
  16. package/dist/cjs/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +2 -2
  17. package/dist/cjs/types/platforms/nest/extensions/authentication/settings/index.d.ts +2 -2
  18. package/dist/cjs/types/platforms/nest/extensions/authentication/types/index.d.ts +1 -1
  19. package/dist/cjs/types/platforms/nest/plugins/email/aws-ses/abstractions/index.d.ts +9 -0
  20. package/dist/cjs/types/platforms/nest/plugins/email/aws-ses/base/index.d.ts +1 -0
  21. package/dist/cjs/types/platforms/nest/plugins/email/aws-ses/base/template.d.ts +6 -0
  22. package/dist/cjs/types/platforms/nest/plugins/email/aws-ses/decorators/index.d.ts +1 -0
  23. package/dist/cjs/types/platforms/nest/plugins/email/aws-ses/decorators/template.d.ts +2 -0
  24. package/dist/cjs/types/platforms/nest/plugins/email/aws-ses/index.d.ts +5 -0
  25. package/dist/cjs/types/platforms/nest/plugins/email/aws-ses/module.d.ts +5 -0
  26. package/dist/cjs/types/platforms/nest/plugins/email/aws-ses/provider/email/index.d.ts +8 -0
  27. package/dist/cjs/types/platforms/nest/plugins/email/aws-ses/settings/index.d.ts +10 -0
  28. package/dist/cjs/types/platforms/nest/plugins/email/aws-ses/symbols/index.d.ts +3 -0
  29. package/dist/cjs/types/platforms/nest/plugins/email/index.d.ts +2 -1
  30. package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/abstractions/index.d.ts +16 -0
  31. package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/base/index.d.ts +1 -0
  32. package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/base/template.d.ts +6 -0
  33. package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/decorators/index.d.ts +1 -0
  34. package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/decorators/template.d.ts +2 -0
  35. package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/index.d.ts +4 -0
  36. package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/module.d.ts +5 -0
  37. package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/provider/email/index.d.ts +7 -0
  38. package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/settings/index.d.ts +8 -0
  39. package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/symbols/index.d.ts +3 -0
  40. package/dist/cjs/types/platforms/nest/services/email/index.d.ts +2 -0
  41. package/dist/cjs/types/providers/services.d.ts +2 -2
  42. package/dist/cjs/types/reflection/decorators/decorator.test.d.ts +1 -0
  43. package/dist/cjs/types/reflection/decorators/index.d.ts +1 -0
  44. package/dist/cjs/types/reflection/index.d.ts +1 -1
  45. package/dist/cjs/types/reflection/types/index.d.ts +1 -0
  46. package/dist/cjs/types/settings/index.d.ts +6 -0
  47. package/dist/cjs/types/utils/index.d.ts +1 -0
  48. package/dist/cjs/types/utils/rendering.d.ts +4 -0
  49. package/dist/esm/index.js +5219 -43
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/types/abstractions/email.d.ts +4 -4
  52. package/dist/esm/types/index.d.ts +1 -0
  53. package/dist/esm/types/platforms/nest/__test__/server/app/auth/auth.actions.d.ts +4 -4
  54. package/dist/esm/types/platforms/nest/__test__/server/messaging/email/index.d.ts +2 -0
  55. package/dist/esm/types/platforms/nest/__test__/server/messaging/email/registration.d.ts +2 -0
  56. package/dist/esm/types/platforms/nest/__test__/server/messaging/module.d.ts +2 -0
  57. package/dist/esm/types/platforms/nest/__test__/server/services/email-provider/index.d.ts +9 -5
  58. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/index.d.ts +10 -0
  59. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-password-reset-request/types.d.ts +2 -2
  60. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-register/types.d.ts +2 -2
  61. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-verify-request/index.d.ts +2 -2
  62. package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-verify-request/types.d.ts +3 -3
  63. package/dist/esm/types/platforms/nest/extensions/authentication/index.d.ts +1 -0
  64. package/dist/esm/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +2 -2
  65. package/dist/esm/types/platforms/nest/extensions/authentication/settings/index.d.ts +2 -2
  66. package/dist/esm/types/platforms/nest/extensions/authentication/types/index.d.ts +1 -1
  67. package/dist/esm/types/platforms/nest/plugins/email/aws-ses/abstractions/index.d.ts +9 -0
  68. package/dist/esm/types/platforms/nest/plugins/email/aws-ses/base/index.d.ts +1 -0
  69. package/dist/esm/types/platforms/nest/plugins/email/aws-ses/base/template.d.ts +6 -0
  70. package/dist/esm/types/platforms/nest/plugins/email/aws-ses/decorators/index.d.ts +1 -0
  71. package/dist/esm/types/platforms/nest/plugins/email/aws-ses/decorators/template.d.ts +2 -0
  72. package/dist/esm/types/platforms/nest/plugins/email/aws-ses/index.d.ts +5 -0
  73. package/dist/esm/types/platforms/nest/plugins/email/aws-ses/module.d.ts +5 -0
  74. package/dist/esm/types/platforms/nest/plugins/email/aws-ses/provider/email/index.d.ts +8 -0
  75. package/dist/esm/types/platforms/nest/plugins/email/aws-ses/settings/index.d.ts +10 -0
  76. package/dist/esm/types/platforms/nest/plugins/email/aws-ses/symbols/index.d.ts +3 -0
  77. package/dist/esm/types/platforms/nest/plugins/email/index.d.ts +2 -1
  78. package/dist/esm/types/platforms/nest/plugins/email/sendgrid/abstractions/index.d.ts +16 -0
  79. package/dist/esm/types/platforms/nest/plugins/email/sendgrid/base/index.d.ts +1 -0
  80. package/dist/esm/types/platforms/nest/plugins/email/sendgrid/base/template.d.ts +6 -0
  81. package/dist/esm/types/platforms/nest/plugins/email/sendgrid/decorators/index.d.ts +1 -0
  82. package/dist/esm/types/platforms/nest/plugins/email/sendgrid/decorators/template.d.ts +2 -0
  83. package/dist/esm/types/platforms/nest/plugins/email/sendgrid/index.d.ts +4 -0
  84. package/dist/esm/types/platforms/nest/plugins/email/sendgrid/module.d.ts +5 -0
  85. package/dist/esm/types/platforms/nest/plugins/email/sendgrid/provider/email/index.d.ts +7 -0
  86. package/dist/esm/types/platforms/nest/plugins/email/sendgrid/settings/index.d.ts +8 -0
  87. package/dist/esm/types/platforms/nest/plugins/email/sendgrid/symbols/index.d.ts +3 -0
  88. package/dist/esm/types/platforms/nest/services/email/index.d.ts +2 -0
  89. package/dist/esm/types/providers/services.d.ts +2 -2
  90. package/dist/esm/types/reflection/decorators/decorator.test.d.ts +1 -0
  91. package/dist/esm/types/reflection/decorators/index.d.ts +1 -0
  92. package/dist/esm/types/reflection/index.d.ts +1 -1
  93. package/dist/esm/types/reflection/types/index.d.ts +1 -0
  94. package/dist/esm/types/settings/index.d.ts +6 -0
  95. package/dist/esm/types/utils/index.d.ts +1 -0
  96. package/dist/esm/types/utils/rendering.d.ts +4 -0
  97. package/dist/index.d.ts +190 -111
  98. package/package.json +6 -1
  99. package/readme.md +15 -1
@@ -11,7 +11,7 @@ export type TemplatedEmailInput<TPayload> = {
11
11
  to?: string[];
12
12
  cc?: string[];
13
13
  bcc?: string[];
14
- subject?: string;
14
+ subjectTemplate?: string;
15
15
  templateId: string;
16
16
  payload: TPayload;
17
17
  };
@@ -20,11 +20,11 @@ export interface HtmlEmailInput<TPayload> {
20
20
  to?: string[];
21
21
  cc?: string[];
22
22
  bcc?: string[];
23
- subject: string;
23
+ subjectTemplate: string;
24
24
  htmlTemplate: string;
25
25
  payload: TPayload;
26
26
  }
27
- export interface IEmailProvider {
28
- sendTemplatedEmail<TPayload>(input: TemplatedEmailInput<TPayload>): Promise<void>;
27
+ export interface IEmailProvider<TTemplateData> {
28
+ sendTemplatedEmail<TPayload, TAugmentedPayload>(input: TemplatedEmailInput<TPayload>, template: IEmailTemplate<TTemplateData, TPayload, TAugmentedPayload>): Promise<void>;
29
29
  sendHtmlEmail<TPayload>(input: HtmlEmailInput<TPayload>): Promise<void>;
30
30
  }
@@ -2,4 +2,5 @@ export * from "./abstractions";
2
2
  export * from "./models";
3
3
  export * from "./platforms";
4
4
  export * from "./templates";
5
+ export * from "./settings";
5
6
  export * from "./utils";
@@ -3,10 +3,10 @@ import { UserEmailVerifyCompleteRequest, UserEmailVerifyRequest, UserLoginReques
3
3
  export declare class AuthActions {
4
4
  private readonly auth;
5
5
  constructor(auth: AuthenticationService);
6
- login(data: UserLoginRequest): Promise<import("../../../../extensions/authentication/handlers/user-login/types").UserLoginResult>;
7
- register(data: UserRegisterRequest): Promise<import("../../../../extensions/authentication/handlers/user-register/types").UserRegistrationResult>;
8
- passwordReset(data: UserPasswordResetRequest): Promise<import("../../../../extensions/authentication/handlers/user-password-reset-request/types").UserPasswordResetRequestResult>;
6
+ login(data: UserLoginRequest): Promise<import("../../../../extensions").UserLoginResult>;
7
+ register(data: UserRegisterRequest): Promise<import("../../../../extensions").UserRegistrationResult>;
8
+ passwordReset(data: UserPasswordResetRequest): Promise<import("../../../../extensions").UserPasswordResetRequestResult>;
9
9
  passwordResetComplete(data: UserPasswordResetCompleteRequest): Promise<void>;
10
- userVerifyRequest(data: UserEmailVerifyRequest): Promise<import("../../../../extensions/authentication/handlers/user-verify-request/types").UserVerifyResetRequestResult>;
10
+ userVerifyRequest(data: UserEmailVerifyRequest): Promise<import("../../../../extensions").UserVerifyResetRequestResult>;
11
11
  userVerifyComplete(data: UserEmailVerifyCompleteRequest): Promise<void>;
12
12
  }
@@ -0,0 +1,2 @@
1
+ import { RegistrationEmailTemplate } from "./registration";
2
+ export declare const EmailTemplates: (typeof RegistrationEmailTemplate)[];
@@ -0,0 +1,2 @@
1
+ export declare class RegistrationEmailTemplate {
2
+ }
@@ -0,0 +1,2 @@
1
+ export declare class MessagingModule {
2
+ }
@@ -1,11 +1,15 @@
1
- import { HtmlEmailInput, IEmailProvider, TemplatedEmailInput } from "../../../../../../abstractions";
1
+ import { HtmlEmailInput, IEmailProvider, IEmailTemplate, TemplatedEmailInput } from "../../../../../../abstractions";
2
2
  type SentEmail = {
3
- input: TemplatedEmailInput<unknown> | HtmlEmailInput<unknown>;
4
- type: "html" | "templated";
3
+ input: TemplatedEmailInput<unknown>;
4
+ template: IEmailTemplate<void, unknown, unknown>;
5
+ type: "templated";
6
+ } | {
7
+ input: HtmlEmailInput<unknown>;
8
+ type: "html";
5
9
  };
6
- export declare class InMemoryEmailProvider implements IEmailProvider {
10
+ export declare class InMemoryEmailProvider implements IEmailProvider<void> {
7
11
  private readonly sentEmails;
8
- sendTemplatedEmail<TPayload>(input: TemplatedEmailInput<TPayload>): Promise<void>;
12
+ sendTemplatedEmail<TPayload, TAugmentedPayload>(input: TemplatedEmailInput<TPayload>, template: IEmailTemplate<void, TPayload, TAugmentedPayload>): Promise<void>;
9
13
  sendHtmlEmail<TPayload>(input: HtmlEmailInput<TPayload>): Promise<void>;
10
14
  getSentEmails(): SentEmail[];
11
15
  }
@@ -0,0 +1,10 @@
1
+ export { UserDisableInput } from "./user-disable/types";
2
+ export { UserEnableInput } from "./user-enable/types";
3
+ export { UserLoginInput, UserLoginResult } from "./user-login/types";
4
+ export { UserPasswordChangeInput } from "./user-password-change/types";
5
+ export { UserPasswordResetCompleteInput } from "./user-password-reset-complete/types";
6
+ export { UserPasswordResetRequestInput, UserPasswordResetRequestResult, UserPasswordResetRequestCallbackTemplate, } from "./user-password-reset-request/types";
7
+ export { UserRegisterCallbackTemplate, UserRegistrationInput, UserRegistrationResult, } from "./user-register/types";
8
+ export { UserTokenVerifyInput, UserTokenVerifyResult, } from "./user-token-verify/types";
9
+ export { UserVerifyCompleteInput } from "./user-verify-complete/types";
10
+ export { UserVerifyRequestInput, UserVerifyRequestCallbackTemplate, UserVerifyRequestResult as UserVerifyResetRequestResult, } from "./user-verify-request/types";
@@ -1,11 +1,11 @@
1
1
  import { IUserContext } from "../../abstractions";
2
- export type CallbackTemplate = {
2
+ export type UserPasswordResetRequestCallbackTemplate = {
3
3
  urlTemplate: string;
4
4
  tokenPlaceholder: string;
5
5
  };
6
6
  export interface UserPasswordResetRequestInput<TUserContext extends IUserContext> {
7
7
  email: string;
8
- callback: CallbackTemplate;
8
+ callback: UserPasswordResetRequestCallbackTemplate;
9
9
  context?: TUserContext;
10
10
  }
11
11
  export interface UserPasswordResetRequestResult {
@@ -1,6 +1,6 @@
1
1
  import { IUserContext } from "../../abstractions";
2
2
  import { UserRegistrationError } from "../../types";
3
- export type CallbackTemplate = {
3
+ export type UserRegisterCallbackTemplate = {
4
4
  urlTemplate: string;
5
5
  tokenPlaceholder: string;
6
6
  };
@@ -8,7 +8,7 @@ export interface UserRegistrationInput<TUserRegistrationInfo, TUserContext exten
8
8
  email: string;
9
9
  password: string;
10
10
  registrationInfo: TUserRegistrationInfo;
11
- callback: CallbackTemplate;
11
+ callback: UserRegisterCallbackTemplate;
12
12
  context?: TUserContext;
13
13
  }
14
14
  export interface UserRegistrationResult {
@@ -2,13 +2,13 @@ import { IUserContext } from "../../abstractions";
2
2
  import { EmailService } from "../../../../services";
3
3
  import { JwtProvider } from "../../providers/jwt";
4
4
  import { AuthenticationServicesResolver } from "../../resolver";
5
- import { UserVerifyRequestInput, UserVerifyResetRequestResult } from "./types";
5
+ import { UserVerifyRequestInput, UserVerifyRequestResult } from "./types";
6
6
  export declare class UserVerifyRequestHandler {
7
7
  private readonly services;
8
8
  private readonly emailService;
9
9
  private readonly jwtProvider;
10
10
  constructor(services: AuthenticationServicesResolver, emailService: EmailService, jwtProvider: JwtProvider);
11
- execute<TUserContext extends IUserContext>(input: UserVerifyRequestInput<TUserContext>): Promise<UserVerifyResetRequestResult>;
11
+ execute<TUserContext extends IUserContext>(input: UserVerifyRequestInput<TUserContext>): Promise<UserVerifyRequestResult>;
12
12
  private sendEmailVerifyEmail;
13
13
  private generateEmailVerifyToken;
14
14
  private resolveUser;
@@ -1,13 +1,13 @@
1
1
  import { IUserContext } from "../../abstractions";
2
2
  export interface UserVerifyRequestInput<TUserContext extends IUserContext> {
3
3
  email: string;
4
- callback: CallbackTemplate;
4
+ callback: UserVerifyRequestCallbackTemplate;
5
5
  context?: TUserContext;
6
6
  }
7
- export interface UserVerifyResetRequestResult {
7
+ export interface UserVerifyRequestResult {
8
8
  success: boolean;
9
9
  }
10
- export type CallbackTemplate = {
10
+ export type UserVerifyRequestCallbackTemplate = {
11
11
  urlTemplate: string;
12
12
  tokenPlaceholder: string;
13
13
  };
@@ -1,6 +1,7 @@
1
1
  export * from "./abstractions";
2
2
  export * from "./decorators";
3
3
  export * from "./email";
4
+ export * from "./handlers";
4
5
  export * from "./errors";
5
6
  export * from "./services";
6
7
  export * from "./types";
@@ -18,7 +18,7 @@ import { UserPasswordResetRequestInput, UserPasswordResetRequestResult } from ".
18
18
  import { UserRegistrationInput, UserRegistrationResult } from "../../handlers/user-register/types";
19
19
  import { UserTokenVerifyInput, UserTokenVerifyResult } from "../../handlers/user-token-verify/types";
20
20
  import { UserVerifyCompleteInput } from "../../handlers/user-verify-complete/types";
21
- import { UserVerifyRequestInput, UserVerifyResetRequestResult } from "../../handlers/user-verify-request/types";
21
+ import { UserVerifyRequestInput, UserVerifyRequestResult } from "../../handlers/user-verify-request/types";
22
22
  export declare class AuthenticationService implements IAuthenticationService {
23
23
  private readonly userDisableHandler;
24
24
  private readonly userEnableHandler;
@@ -38,7 +38,7 @@ export declare class AuthenticationService implements IAuthenticationService {
38
38
  userPasswordResetFinalize(input: UserPasswordResetCompleteInput): Promise<void>;
39
39
  userPasswordResetRequest<TUserContext extends IUserContext>(input: UserPasswordResetRequestInput<TUserContext>): Promise<UserPasswordResetRequestResult>;
40
40
  userRegister<TUserRegistrationInfo, TUserContext extends IUserContext>(input: UserRegistrationInput<TUserRegistrationInfo, TUserContext>): Promise<UserRegistrationResult>;
41
- userVerifyRequest<TUserContext extends IUserContext>(input: UserVerifyRequestInput<TUserContext>): Promise<UserVerifyResetRequestResult>;
41
+ userVerifyRequest<TUserContext extends IUserContext>(input: UserVerifyRequestInput<TUserContext>): Promise<UserVerifyRequestResult>;
42
42
  userVerifyComplete(input: UserVerifyCompleteInput): Promise<void>;
43
43
  userTokenVerify<TUserContext extends IUserContext>(input: UserTokenVerifyInput): Promise<UserTokenVerifyResult<TUserContext>>;
44
44
  }
@@ -1,3 +1,3 @@
1
+ import { AppInMemorySettings } from "../../../../../settings";
1
2
  import { AuthenticationModuleSettings } from "../types";
2
- export declare const setAuthSettings: (input: AuthenticationModuleSettings) => void;
3
- export declare const getAuthSettings: () => AuthenticationModuleSettings;
3
+ export declare const authSettings: AppInMemorySettings<AuthenticationModuleSettings>;
@@ -13,5 +13,5 @@ export type EmailVerifyTokenPayload = {
13
13
  timestamp: number;
14
14
  };
15
15
  export declare enum UserRegistrationError {
16
- UserAlreadyExists = 0
16
+ UserAlreadyExists = "userAlreadyExists"
17
17
  }
@@ -0,0 +1,9 @@
1
+ export type AwsSesEmailTemplateData = {
2
+ subjectTemplate: string;
3
+ htmlTemplate: string;
4
+ from?: string;
5
+ to?: string[];
6
+ cc?: string[];
7
+ bcc?: string[];
8
+ replyTo?: string;
9
+ };
@@ -0,0 +1 @@
1
+ export { AwsSesEmailTemplate } from "./template";
@@ -0,0 +1,6 @@
1
+ import { IEmailTemplate } from "../../../../../../abstractions";
2
+ import { AwsSesEmailTemplateData } from "../abstractions";
3
+ export declare abstract class AwsSesEmailTemplate<TPayload, TAugmentedPayload = TPayload> implements IEmailTemplate<AwsSesEmailTemplateData, TPayload, TAugmentedPayload> {
4
+ processPayload(payload: TPayload): Promise<TAugmentedPayload>;
5
+ getTemplateData(payload: TAugmentedPayload): Promise<AwsSesEmailTemplateData>;
6
+ }
@@ -0,0 +1 @@
1
+ export * from "./template";
@@ -0,0 +1,2 @@
1
+ import { AwsSesEmailTemplateData } from "../abstractions";
2
+ export declare const WpAwsSesEmailTemplate: (templateId: string, sendgridTemplateData: AwsSesEmailTemplateData) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
@@ -0,0 +1,5 @@
1
+ export * from "./abstractions";
2
+ export * from "./base";
3
+ export * from "./decorators";
4
+ export { AwsSesSettings } from "./settings";
5
+ export { AwsEmailModule } from "./module";
@@ -0,0 +1,5 @@
1
+ import { DynamicModule } from "@nestjs/common";
2
+ import { AwsSesSettings } from "./settings";
3
+ export declare class AwsEmailModule {
4
+ static forRoot(input: AwsSesSettings): DynamicModule;
5
+ }
@@ -0,0 +1,8 @@
1
+ import { HtmlEmailInput, IEmailProvider, IEmailTemplate, TemplatedEmailInput } from "../../../../../../../abstractions";
2
+ import { AwsSesEmailTemplateData } from "../../abstractions";
3
+ export declare class AwsSesEmailProvider implements IEmailProvider<AwsSesEmailTemplateData> {
4
+ private readonly client;
5
+ constructor();
6
+ sendTemplatedEmail<TPayload, TAugmentedPayload>(input: TemplatedEmailInput<TPayload>, template: IEmailTemplate<AwsSesEmailTemplateData, TPayload, TAugmentedPayload>): Promise<void>;
7
+ sendHtmlEmail<TPayload>(input: HtmlEmailInput<TPayload>): Promise<void>;
8
+ }
@@ -0,0 +1,10 @@
1
+ import { AppInMemorySettings } from "../../../../../../settings";
2
+ export type AwsSesSettings = {
3
+ awsAccessKeyId?: string;
4
+ awsSecretAccessKey?: string;
5
+ region?: string;
6
+ defaultSender: string;
7
+ defaultCc?: string[];
8
+ defaultBcc?: string[];
9
+ };
10
+ export declare const awsSesSettings: AppInMemorySettings<AwsSesSettings>;
@@ -0,0 +1,3 @@
1
+ export declare const AwsSesModuleSymbols: {
2
+ EmailTemplate: symbol;
3
+ };
@@ -1 +1,2 @@
1
- export {};
1
+ export * from "./aws-ses";
2
+ export * from "./sendgrid";
@@ -0,0 +1,16 @@
1
+ export type SendgridTemplateType = "template" | "html";
2
+ export type SendgridTemplateBaseData = {
3
+ from?: string;
4
+ to?: string[];
5
+ cc?: string[];
6
+ bcc?: string[];
7
+ replyTo?: string;
8
+ };
9
+ export type SendgridEmailTemplateData = SendgridTemplateBaseData & ({
10
+ type: "template";
11
+ sendgridTemplateId: string;
12
+ } | {
13
+ type: "html";
14
+ subjectTemplate: string;
15
+ bodyTemplate: string;
16
+ });
@@ -0,0 +1 @@
1
+ export { SendgridEmailTemplate } from "./template";
@@ -0,0 +1,6 @@
1
+ import { IEmailTemplate } from "../../../../../../abstractions";
2
+ import { SendgridEmailTemplateData } from "../abstractions";
3
+ export declare abstract class SendgridEmailTemplate<TPayload, TAugmentedPayload = TPayload> implements IEmailTemplate<SendgridEmailTemplateData, TPayload, TAugmentedPayload> {
4
+ processPayload(payload: TPayload): Promise<TAugmentedPayload>;
5
+ getTemplateData(payload: TAugmentedPayload): Promise<SendgridEmailTemplateData>;
6
+ }
@@ -0,0 +1 @@
1
+ export * from "./template";
@@ -0,0 +1,2 @@
1
+ import { SendgridEmailTemplateData } from "../abstractions";
2
+ export declare const WpSendgridEmailTemplate: (templateId: string, sendgridTemplateData: SendgridEmailTemplateData) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
@@ -0,0 +1,4 @@
1
+ export * from "./abstractions";
2
+ export * from "./base";
3
+ export * from "./decorators";
4
+ export { SendgridEmailModule } from "./module";
@@ -0,0 +1,5 @@
1
+ import { DynamicModule } from "@nestjs/common";
2
+ import { SendgridSettings } from "./settings";
3
+ export declare class SendgridEmailModule {
4
+ static forRoot(input: SendgridSettings): DynamicModule;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { HtmlEmailInput, IEmailProvider, IEmailTemplate, TemplatedEmailInput } from "../../../../../../../abstractions";
2
+ import { SendgridEmailTemplateData } from "../../abstractions";
3
+ export declare class SendgridEmailProvider implements IEmailProvider<SendgridEmailTemplateData> {
4
+ constructor();
5
+ sendTemplatedEmail<TPayload, TAugmentedPayload>(input: TemplatedEmailInput<TPayload>, template: IEmailTemplate<SendgridEmailTemplateData, TPayload, TAugmentedPayload>): Promise<void>;
6
+ sendHtmlEmail<TPayload>(input: HtmlEmailInput<TPayload>): Promise<void>;
7
+ }
@@ -0,0 +1,8 @@
1
+ import { AppInMemorySettings } from "../../../../../../settings";
2
+ export type SendgridSettings = {
3
+ apiKey: string;
4
+ defaultSender: string;
5
+ defaultCc?: string[];
6
+ defaultBcc?: string[];
7
+ };
8
+ export declare const sendgridSettings: AppInMemorySettings<SendgridSettings>;
@@ -0,0 +1,3 @@
1
+ export declare const SendgridModuleSymbols: {
2
+ EmailTemplate: symbol;
3
+ };
@@ -5,5 +5,7 @@ export declare class EmailService {
5
5
  constructor(registry: EntityManagerRegistry);
6
6
  sendTemplatedEmail<TPayload>(input: TemplatedEmailInput<TPayload>): Promise<void>;
7
7
  sendHtmlEmail<TPayload>(input: HtmlEmailInput<TPayload>): Promise<void>;
8
+ private getTemplate;
9
+ private get templates();
8
10
  private get provider();
9
11
  }
@@ -53,8 +53,8 @@ export declare class EntitiesServiceLocator {
53
53
  getProvider(): ServiceLocator;
54
54
  resolveEventEmitter<TEventEmitter extends IEventEmitter>(): TEventEmitter;
55
55
  registerEventEmitter<TEventEmitter extends IEventEmitter>(instance: TEventEmitter): void;
56
- resolveEmailProvider<TEmailProvider extends IEmailProvider>(): TEmailProvider;
57
- registerEmailProvider<TEmailProvider extends IEmailProvider>(instance: TEmailProvider): void;
56
+ resolveEmailProvider<TEmailProvider extends IEmailProvider<unknown>>(): TEmailProvider;
57
+ registerEmailProvider<TEmailProvider extends IEmailProvider<unknown>>(instance: TEmailProvider): void;
58
58
  resolveEmailTemplatesCollection(): IEmailTemplatesCollection;
59
59
  registerEmailTemplatesCollection(instance: IEmailTemplatesCollection): void;
60
60
  resolveAuthenticationContextProvider<TAuthenticationContextProvider extends IAuthenticationContextProvider<TUserContext>, TUserContext>(): TAuthenticationContextProvider;
@@ -0,0 +1 @@
1
+ export declare const getInstanceDecoratorData: <T>(metadataKey: any, instance: Object) => any;
@@ -1 +1 @@
1
- export declare const getTypeName: (type: any) => string;
1
+ export * from "./types";
@@ -0,0 +1 @@
1
+ export declare const getTypeName: (type: any) => string;
@@ -0,0 +1,6 @@
1
+ export declare class AppInMemorySettings<T> {
2
+ private _instance;
3
+ constructor();
4
+ initialize(value: T): void;
5
+ get value(): T;
6
+ }
@@ -1 +1,2 @@
1
1
  export { newUuid } from "./uid";
2
+ export { renderHandlebarsTemplate } from "./rendering";
@@ -0,0 +1,4 @@
1
+ export declare const renderHandlebarsTemplate: <TContext extends object>(input: {
2
+ template: string;
3
+ context: TContext;
4
+ }) => string;