@punks/backend-entity-manager 0.0.36 → 0.0.39
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 +34 -13
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/email.d.ts +3 -1
- package/dist/cjs/types/abstractions/index.d.ts +1 -0
- package/dist/cjs/types/abstractions/localization.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/__test__/server/app/auth/auth.dto.d.ts +3 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-password-reset-request/types.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/handlers/user-verify-request/types.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/plugins/email/aws-ses/index.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/abstractions/index.d.ts +3 -2
- package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/plugins/email/sendgrid/settings/index.d.ts +1 -0
- package/dist/cjs/types/utils/index.d.ts +2 -1
- package/dist/cjs/types/utils/localization.d.ts +2 -0
- package/dist/esm/index.js +34 -14
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/email.d.ts +3 -1
- package/dist/esm/types/abstractions/index.d.ts +1 -0
- package/dist/esm/types/abstractions/localization.d.ts +4 -0
- package/dist/esm/types/platforms/nest/__test__/server/app/auth/auth.dto.d.ts +3 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-password-reset-request/types.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/handlers/user-verify-request/types.d.ts +1 -0
- package/dist/esm/types/platforms/nest/plugins/email/aws-ses/index.d.ts +1 -1
- package/dist/esm/types/platforms/nest/plugins/email/sendgrid/abstractions/index.d.ts +3 -2
- package/dist/esm/types/platforms/nest/plugins/email/sendgrid/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/plugins/email/sendgrid/settings/index.d.ts +1 -0
- package/dist/esm/types/utils/index.d.ts +2 -1
- package/dist/esm/types/utils/localization.d.ts +2 -0
- package/dist/index.d.ts +18 -5
- package/package.json +1 -1
|
@@ -13,15 +13,17 @@ export type TemplatedEmailInput<TPayload> = {
|
|
|
13
13
|
bcc?: string[];
|
|
14
14
|
subjectTemplate?: string;
|
|
15
15
|
templateId: string;
|
|
16
|
+
languageId: string;
|
|
16
17
|
payload: TPayload;
|
|
17
18
|
};
|
|
18
19
|
export interface HtmlEmailInput<TPayload> {
|
|
20
|
+
replyTo?: string;
|
|
19
21
|
from?: string;
|
|
20
22
|
to?: string[];
|
|
21
23
|
cc?: string[];
|
|
22
24
|
bcc?: string[];
|
|
23
25
|
subjectTemplate: string;
|
|
24
|
-
|
|
26
|
+
bodyTemplate: string;
|
|
25
27
|
payload: TPayload;
|
|
26
28
|
}
|
|
27
29
|
export interface IEmailProvider<TTemplateData> {
|
|
@@ -10,6 +10,7 @@ export * from "./email";
|
|
|
10
10
|
export * from "./errors";
|
|
11
11
|
export { IEntityEventsManager } from "./events";
|
|
12
12
|
export * from "./filters";
|
|
13
|
+
export * from "./localization";
|
|
13
14
|
export { IEntityManager } from "./manager";
|
|
14
15
|
export { IEntityMapper } from "./mappers";
|
|
15
16
|
export { IEntitiesSearchQuery, IEntityGetQuery, IEntitiesQueryBuilder, } from "./queries";
|
|
@@ -27,6 +27,7 @@ export declare class UserRegisterRequest {
|
|
|
27
27
|
data: UserRegistrationData;
|
|
28
28
|
userContext: UserContext;
|
|
29
29
|
callback: OperationCallbackTemplate;
|
|
30
|
+
languageId: string;
|
|
30
31
|
}
|
|
31
32
|
export declare class UserRegisterResponse {
|
|
32
33
|
success: boolean;
|
|
@@ -36,6 +37,7 @@ export declare class UserPasswordResetRequest {
|
|
|
36
37
|
userName: string;
|
|
37
38
|
userContext?: UserContext;
|
|
38
39
|
callback: OperationCallbackTemplate;
|
|
40
|
+
languageId: string;
|
|
39
41
|
}
|
|
40
42
|
export declare class UserPasswordResetCompleteRequest {
|
|
41
43
|
token: string;
|
|
@@ -48,4 +50,5 @@ export declare class UserEmailVerifyRequest {
|
|
|
48
50
|
email: string;
|
|
49
51
|
userContext: UserContext;
|
|
50
52
|
callback: OperationCallbackTemplate;
|
|
53
|
+
languageId: string;
|
|
51
54
|
}
|
|
@@ -6,6 +6,7 @@ export type UserPasswordResetRequestCallbackTemplate = {
|
|
|
6
6
|
export interface UserPasswordResetRequestInput<TUserContext extends IUserContext> {
|
|
7
7
|
email: string;
|
|
8
8
|
callback: UserPasswordResetRequestCallbackTemplate;
|
|
9
|
+
languageId: string;
|
|
9
10
|
context?: TUserContext;
|
|
10
11
|
}
|
|
11
12
|
export interface UserPasswordResetRequestResult {
|
package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-register/types.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export interface UserRegistrationInput<TUserRegistrationInfo, TUserContext exten
|
|
|
9
9
|
password: string;
|
|
10
10
|
registrationInfo: TUserRegistrationInfo;
|
|
11
11
|
callback: UserRegisterCallbackTemplate;
|
|
12
|
+
languageId: string;
|
|
12
13
|
context?: TUserContext;
|
|
13
14
|
}
|
|
14
15
|
export interface UserRegistrationResult {
|
|
@@ -2,6 +2,7 @@ import { IUserContext } from "../../abstractions";
|
|
|
2
2
|
export interface UserVerifyRequestInput<TUserContext extends IUserContext> {
|
|
3
3
|
email: string;
|
|
4
4
|
callback: UserVerifyRequestCallbackTemplate;
|
|
5
|
+
languageId: string;
|
|
5
6
|
context?: TUserContext;
|
|
6
7
|
}
|
|
7
8
|
export interface UserVerifyRequestResult {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LocalizedTexts } from "../../../../../../abstractions";
|
|
1
2
|
export type SendgridTemplateType = "template" | "html";
|
|
2
3
|
export type SendgridTemplateBaseData = {
|
|
3
4
|
from?: string;
|
|
@@ -11,6 +12,6 @@ export type SendgridEmailTemplateData = SendgridTemplateBaseData & ({
|
|
|
11
12
|
sendgridTemplateId: string;
|
|
12
13
|
} | {
|
|
13
14
|
type: "html";
|
|
14
|
-
subjectTemplate: string;
|
|
15
|
-
bodyTemplate: string;
|
|
15
|
+
subjectTemplate: string | LocalizedTexts;
|
|
16
|
+
bodyTemplate: string | LocalizedTexts;
|
|
16
17
|
});
|
package/dist/esm/index.js
CHANGED
|
@@ -19020,7 +19020,7 @@ let UserRegistrationHandler = class UserRegistrationHandler {
|
|
|
19020
19020
|
passwordHash,
|
|
19021
19021
|
passwordUpdateTimestamp: new Date(),
|
|
19022
19022
|
});
|
|
19023
|
-
await this.sendRegistrationEmail(user, input.callback);
|
|
19023
|
+
await this.sendRegistrationEmail(user, input.callback, input.languageId);
|
|
19024
19024
|
return {
|
|
19025
19025
|
success: true,
|
|
19026
19026
|
};
|
|
@@ -19031,7 +19031,7 @@ let UserRegistrationHandler = class UserRegistrationHandler {
|
|
|
19031
19031
|
passwordHash,
|
|
19032
19032
|
passwordUpdateTimestamp: new Date(),
|
|
19033
19033
|
});
|
|
19034
|
-
await this.sendRegistrationEmail(newUser, input.callback);
|
|
19034
|
+
await this.sendRegistrationEmail(newUser, input.callback, input.languageId);
|
|
19035
19035
|
return {
|
|
19036
19036
|
success: true,
|
|
19037
19037
|
};
|
|
@@ -19042,11 +19042,12 @@ let UserRegistrationHandler = class UserRegistrationHandler {
|
|
|
19042
19042
|
userId,
|
|
19043
19043
|
});
|
|
19044
19044
|
}
|
|
19045
|
-
async sendRegistrationEmail(user, callback) {
|
|
19045
|
+
async sendRegistrationEmail(user, callback, languageId) {
|
|
19046
19046
|
const token = await this.generateEmailVerifyToken(user);
|
|
19047
19047
|
await this.emailService.sendTemplatedEmail({
|
|
19048
19048
|
to: [user.email],
|
|
19049
19049
|
templateId: AuthenticationEmailTemplates.Registration,
|
|
19050
|
+
languageId,
|
|
19050
19051
|
payload: {
|
|
19051
19052
|
firstName: user.profile?.firstName,
|
|
19052
19053
|
lastName: user.profile?.lastName,
|
|
@@ -19247,16 +19248,17 @@ let UserPasswordResetRequestHandler = class UserPasswordResetRequestHandler {
|
|
|
19247
19248
|
success: false,
|
|
19248
19249
|
};
|
|
19249
19250
|
}
|
|
19250
|
-
await this.sendPasswordResetEmail(user, input.callback);
|
|
19251
|
+
await this.sendPasswordResetEmail(user, input.callback, input.languageId);
|
|
19251
19252
|
return {
|
|
19252
19253
|
success: true,
|
|
19253
19254
|
};
|
|
19254
19255
|
}
|
|
19255
|
-
async sendPasswordResetEmail(user, callback) {
|
|
19256
|
+
async sendPasswordResetEmail(user, callback, languageId) {
|
|
19256
19257
|
const token = await this.generatePasswordResetToken(user);
|
|
19257
19258
|
await this.emailService.sendTemplatedEmail({
|
|
19258
19259
|
to: [user.email],
|
|
19259
19260
|
templateId: AuthenticationEmailTemplates.PasswordReset,
|
|
19261
|
+
languageId,
|
|
19260
19262
|
payload: {
|
|
19261
19263
|
firstName: user.profile.firstName,
|
|
19262
19264
|
lastName: user.profile.lastName,
|
|
@@ -19356,12 +19358,12 @@ let UserVerifyRequestHandler = class UserVerifyRequestHandler {
|
|
|
19356
19358
|
success: false,
|
|
19357
19359
|
};
|
|
19358
19360
|
}
|
|
19359
|
-
await this.sendEmailVerifyEmail(user, input.callback);
|
|
19361
|
+
await this.sendEmailVerifyEmail(user, input.callback, input.languageId);
|
|
19360
19362
|
return {
|
|
19361
19363
|
success: true,
|
|
19362
19364
|
};
|
|
19363
19365
|
}
|
|
19364
|
-
async sendEmailVerifyEmail(user, callback) {
|
|
19366
|
+
async sendEmailVerifyEmail(user, callback, languageId) {
|
|
19365
19367
|
const token = await this.generateEmailVerifyToken(user);
|
|
19366
19368
|
await this.emailService.sendTemplatedEmail({
|
|
19367
19369
|
to: [user.email],
|
|
@@ -19371,6 +19373,7 @@ let UserVerifyRequestHandler = class UserVerifyRequestHandler {
|
|
|
19371
19373
|
lastName: user.profile.lastName,
|
|
19372
19374
|
callbackUrl: callback.urlTemplate.replace(callback.tokenPlaceholder, token),
|
|
19373
19375
|
},
|
|
19376
|
+
languageId,
|
|
19374
19377
|
});
|
|
19375
19378
|
}
|
|
19376
19379
|
async generateEmailVerifyToken(user) {
|
|
@@ -19958,7 +19961,12 @@ const WpAwsSesEmailTemplate = (templateId, sendgridTemplateData) => applyDecorat
|
|
|
19958
19961
|
|
|
19959
19962
|
const awsSesSettings = new AppInMemorySettings();
|
|
19960
19963
|
|
|
19961
|
-
const
|
|
19964
|
+
const getLocalizedText = (item, languageId, defaultLanguageId) => {
|
|
19965
|
+
return typeof item === "string"
|
|
19966
|
+
? item
|
|
19967
|
+
: item[languageId] ??
|
|
19968
|
+
(defaultLanguageId ? item[defaultLanguageId] : undefined);
|
|
19969
|
+
};
|
|
19962
19970
|
|
|
19963
19971
|
var handlebars$1 = {exports: {}};
|
|
19964
19972
|
|
|
@@ -24901,6 +24909,8 @@ const renderHandlebarsTemplate = (input) => {
|
|
|
24901
24909
|
return compiled(input.context);
|
|
24902
24910
|
};
|
|
24903
24911
|
|
|
24912
|
+
const newUuid = newUuid$1;
|
|
24913
|
+
|
|
24904
24914
|
const createClient = (settings) => new SESClient({
|
|
24905
24915
|
region: settings.region,
|
|
24906
24916
|
credentials: settings.awsAccessKeyId && settings.awsSecretAccessKey
|
|
@@ -24918,7 +24928,7 @@ let AwsSesEmailProvider = class AwsSesEmailProvider {
|
|
|
24918
24928
|
const processedPayload = await template.processPayload(input.payload);
|
|
24919
24929
|
const templateData = await template.getTemplateData(processedPayload);
|
|
24920
24930
|
await this.sendHtmlEmail({
|
|
24921
|
-
|
|
24931
|
+
bodyTemplate: templateData.htmlTemplate,
|
|
24922
24932
|
payload: processedPayload,
|
|
24923
24933
|
subjectTemplate: templateData.subjectTemplate,
|
|
24924
24934
|
to: input.to ?? templateData.to,
|
|
@@ -24945,7 +24955,7 @@ let AwsSesEmailProvider = class AwsSesEmailProvider {
|
|
|
24945
24955
|
Body: {
|
|
24946
24956
|
Html: {
|
|
24947
24957
|
Data: renderHandlebarsTemplate({
|
|
24948
|
-
template: input.
|
|
24958
|
+
template: input.bodyTemplate,
|
|
24949
24959
|
context: input.payload,
|
|
24950
24960
|
}),
|
|
24951
24961
|
},
|
|
@@ -25005,10 +25015,18 @@ let SendgridEmailProvider = class SendgridEmailProvider {
|
|
|
25005
25015
|
const processedPayload = await template.processPayload(input.payload);
|
|
25006
25016
|
const templateData = await template.getTemplateData(processedPayload);
|
|
25007
25017
|
if (templateData.type === "html") {
|
|
25018
|
+
const body = getLocalizedText(templateData.bodyTemplate, input.languageId);
|
|
25019
|
+
if (!body) {
|
|
25020
|
+
throw new Error(`Missing body template for language ${input.languageId}`);
|
|
25021
|
+
}
|
|
25022
|
+
const subject = getLocalizedText(templateData.bodyTemplate, input.languageId);
|
|
25023
|
+
if (!subject) {
|
|
25024
|
+
throw new Error(`Missing subject template for language ${input.languageId}`);
|
|
25025
|
+
}
|
|
25008
25026
|
await this.sendHtmlEmail({
|
|
25009
|
-
|
|
25027
|
+
bodyTemplate: body,
|
|
25028
|
+
subjectTemplate: subject,
|
|
25010
25029
|
payload: processedPayload,
|
|
25011
|
-
subjectTemplate: templateData.subjectTemplate,
|
|
25012
25030
|
bcc: input.bcc ?? templateData.bcc,
|
|
25013
25031
|
cc: input.cc ?? templateData.cc,
|
|
25014
25032
|
from: input.from ?? templateData.from,
|
|
@@ -25032,6 +25050,7 @@ let SendgridEmailProvider = class SendgridEmailProvider {
|
|
|
25032
25050
|
context: processedPayload,
|
|
25033
25051
|
})
|
|
25034
25052
|
: undefined,
|
|
25053
|
+
replyTo: templateData.replyTo ?? sendgridSettings.value.defaultReplyTo,
|
|
25035
25054
|
dynamicTemplateData: {
|
|
25036
25055
|
...processedPayload,
|
|
25037
25056
|
},
|
|
@@ -25048,9 +25067,10 @@ let SendgridEmailProvider = class SendgridEmailProvider {
|
|
|
25048
25067
|
context: input.payload,
|
|
25049
25068
|
}),
|
|
25050
25069
|
html: renderHandlebarsTemplate({
|
|
25051
|
-
template: input.
|
|
25070
|
+
template: input.bodyTemplate,
|
|
25052
25071
|
context: input.payload,
|
|
25053
25072
|
}),
|
|
25073
|
+
replyTo: input.replyTo ?? sendgridSettings.value.defaultReplyTo,
|
|
25054
25074
|
});
|
|
25055
25075
|
}
|
|
25056
25076
|
};
|
|
@@ -25115,5 +25135,5 @@ AppSessionMiddleware = __decorate([
|
|
|
25115
25135
|
Injectable()
|
|
25116
25136
|
], AppSessionMiddleware);
|
|
25117
25137
|
|
|
25118
|
-
export { AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthenticationEmailTemplates, AuthenticationError, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsEmailModule, AwsSesEmailTemplate, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, InvalidCredentialsError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestTypeOrmQueryBuilder, NestTypeOrmRepository, OperationTokenMismatchError, QueryBuilderBase, ReplicationMode, SendgridEmailModule, SendgridEmailTemplate, SortDirection, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpSendgridEmailTemplate, WpUserService, newUuid, renderHandlebarsTemplate };
|
|
25138
|
+
export { AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthenticationEmailTemplates, AuthenticationError, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsEmailModule, AwsSesEmailTemplate, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, InvalidCredentialsError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestTypeOrmQueryBuilder, NestTypeOrmRepository, OperationTokenMismatchError, QueryBuilderBase, ReplicationMode, SendgridEmailModule, SendgridEmailTemplate, SortDirection, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpSendgridEmailTemplate, WpUserService, getLocalizedText, newUuid, renderHandlebarsTemplate };
|
|
25119
25139
|
//# sourceMappingURL=index.js.map
|