@yimingliao/cms 0.0.214 → 0.0.216
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/src/server/infrastructure/email/create-send-email.js +24 -6
- package/dist/src/server/interfaces/actions/resources/inquiry/commands/create/create-inquiry-create-action.js +7 -5
- package/dist/types/src/server/applications/emails/auth/create-email-verification-email.d.ts +1 -1
- package/dist/types/src/server/applications/emails/auth/create-forgot-password-email.d.ts +1 -1
- package/dist/types/src/server/applications/emails/inquiry/create-new-inquiry-email.d.ts +1 -1
- package/dist/types/src/server/infrastructure/email/create-send-email.d.ts +7 -4
- package/dist/types/src/server/infrastructure/email/create-send-email.d.ts.map +1 -1
- package/dist/types/src/server/interfaces/actions/action-context.d.ts +0 -2
- package/dist/types/src/server/interfaces/actions/action-context.d.ts.map +1 -1
- package/dist/types/src/server/interfaces/actions/resources/inquiry/commands/create/create-inquiry-create-action.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,13 +1,31 @@
|
|
|
1
1
|
function createSendEmail({
|
|
2
2
|
transporter,
|
|
3
|
-
config
|
|
3
|
+
config,
|
|
4
|
+
logger
|
|
4
5
|
}) {
|
|
5
6
|
return async function sendEmail(options) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
try {
|
|
8
|
+
const info = await transporter.sendMail({
|
|
9
|
+
from: `${config.fromName} <${config.fromAddress}>`,
|
|
10
|
+
replyTo: `${config.replyToName} <${config.replyToaddress}>`,
|
|
11
|
+
...options
|
|
12
|
+
});
|
|
13
|
+
logger.info("Email sent", {
|
|
14
|
+
to: options.to,
|
|
15
|
+
subject: options.subject,
|
|
16
|
+
messageId: info.messageId,
|
|
17
|
+
accepted: info.accepted,
|
|
18
|
+
rejected: info.rejected
|
|
19
|
+
});
|
|
20
|
+
return info;
|
|
21
|
+
} catch (error) {
|
|
22
|
+
logger.error("Email failed", {
|
|
23
|
+
to: options.to,
|
|
24
|
+
subject: options.subject,
|
|
25
|
+
error
|
|
26
|
+
});
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
11
29
|
};
|
|
12
30
|
}
|
|
13
31
|
|
|
@@ -4,8 +4,8 @@ import { inquiryCreateValidator } from './inquiry-create-validator.js';
|
|
|
4
4
|
|
|
5
5
|
function createInquiryCreateAction(ctx, inquiryEmailsSlug) {
|
|
6
6
|
const {
|
|
7
|
-
repositories: { inquiryCommandRepository },
|
|
8
|
-
action: { executeAction, ipRateLimiter
|
|
7
|
+
repositories: { inquiryCommandRepository, configQueryRepository },
|
|
8
|
+
action: { executeAction, ipRateLimiter },
|
|
9
9
|
emails: { newInquiryEmail },
|
|
10
10
|
schemas: { schemas }
|
|
11
11
|
} = ctx;
|
|
@@ -38,9 +38,11 @@ function createInquiryCreateAction(ctx, inquiryEmailsSlug) {
|
|
|
38
38
|
...text9 !== void 0 && { text9 },
|
|
39
39
|
...text10 !== void 0 && { text10 }
|
|
40
40
|
});
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
const config = await configQueryRepository.find({
|
|
42
|
+
slug: inquiryEmailsSlug
|
|
43
|
+
});
|
|
44
|
+
if (config) {
|
|
45
|
+
const emails = findTranslation(config.translations, translator.locale)?.data1 ?? [];
|
|
44
46
|
if (Array.isArray(emails) && emails.length > 0) {
|
|
45
47
|
void Promise.all(
|
|
46
48
|
emails.map(
|
|
@@ -16,7 +16,7 @@ export declare function createEmailVerificationEmail({ renderEmailTemplate, send
|
|
|
16
16
|
generateHtml: (replacements?: {
|
|
17
17
|
emailVerificationUrl: string;
|
|
18
18
|
}) => Promise<string>;
|
|
19
|
-
send: ({ translator, email, newEmail }: SendParams) => Promise<
|
|
19
|
+
send: ({ translator, email, newEmail }: SendParams) => Promise<import("nodemailer/lib/sendmail-transport").SentMessageInfo>;
|
|
20
20
|
};
|
|
21
21
|
export {};
|
|
22
22
|
//# sourceMappingURL=create-email-verification-email.d.ts.map
|
|
@@ -14,7 +14,7 @@ export declare function createForgotPasswordEmail({ renderEmailTemplate, sendEma
|
|
|
14
14
|
generateHtml: (replacements?: {
|
|
15
15
|
passwordResetUrl: string;
|
|
16
16
|
}) => Promise<string>;
|
|
17
|
-
send: ({ translator, email, passwordResetToken }: SendParams) => Promise<
|
|
17
|
+
send: ({ translator, email, passwordResetToken }: SendParams) => Promise<import("nodemailer/lib/sendmail-transport").SentMessageInfo>;
|
|
18
18
|
};
|
|
19
19
|
export {};
|
|
20
20
|
//# sourceMappingURL=create-forgot-password-email.d.ts.map
|
|
@@ -13,7 +13,7 @@ export declare function createNewInquiryEmail({ renderEmailTemplate, sendEmail,
|
|
|
13
13
|
generateHtml: (replacements?: {
|
|
14
14
|
url: string;
|
|
15
15
|
}) => Promise<string>;
|
|
16
|
-
send: ({ translator, email }: SendParams) => Promise<
|
|
16
|
+
send: ({ translator, email }: SendParams) => Promise<import("nodemailer/lib/sendmail-transport").SentMessageInfo>;
|
|
17
17
|
};
|
|
18
18
|
export {};
|
|
19
19
|
//# sourceMappingURL=create-new-inquiry-email.d.ts.map
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { Logger } from "logry";
|
|
2
|
+
import type SendmailTransport from "nodemailer/lib/sendmail-transport";
|
|
3
|
+
import { type Transporter } from "nodemailer";
|
|
2
4
|
interface SendEmailOptions {
|
|
3
5
|
to: string;
|
|
4
6
|
subject: string;
|
|
5
7
|
html: string;
|
|
6
8
|
}
|
|
7
|
-
export declare function createSendEmail({ transporter, config, }: {
|
|
8
|
-
transporter: Transporter
|
|
9
|
+
export declare function createSendEmail({ transporter, config, logger, }: {
|
|
10
|
+
transporter: Transporter<SendmailTransport.SentMessageInfo>;
|
|
9
11
|
config: {
|
|
10
12
|
fromName: string;
|
|
11
13
|
fromAddress: string;
|
|
12
14
|
replyToName: string;
|
|
13
15
|
replyToaddress: string;
|
|
14
16
|
};
|
|
15
|
-
|
|
17
|
+
logger: Logger;
|
|
18
|
+
}): (options: SendEmailOptions) => Promise<SendmailTransport.SentMessageInfo>;
|
|
16
19
|
export {};
|
|
17
20
|
//# sourceMappingURL=create-send-email.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-send-email.d.ts","sourceRoot":"","sources":["../../../../../../src/server/infrastructure/email/create-send-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"create-send-email.d.ts","sourceRoot":"","sources":["../../../../../../src/server/infrastructure/email/create-send-email.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,iBAAiB,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,MAAM,EACN,MAAM,GACP,EAAE;IACD,WAAW,EAAE,WAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB,IAEG,SAAS,gBAAgB,KACxB,OAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,CA2B9C"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { createConfigFindAction } from "./resources";
|
|
2
1
|
import type { createAuthUseCases, createEmailVerificationEmail, createForgotPasswordEmail, createNewInquiryEmail } from "../../applications";
|
|
3
2
|
import type { createAdminCommandRepository, createAdminQueryRepository, createAdminRefreshTokenCommandRepository, createAdminRefreshTokenQueryRepository, createArgon2Service, createConfigCommandRepository, createConfigQueryRepository, createCookieService, createCryptoService, createFileCommandRepository, createFileQueryRepository, createFolderCommandRepository, createFolderQueryRepository, createInquiryCommandRepository, createInquiryQueryRepository, createPostCommandRepository, createPostQueryRepository, createSchemas, createSeoMetadataCommandRepository, createTocItemSchema, StorageService } from "../../infrastructure";
|
|
4
3
|
import type { RateLimiterOptions } from "../../infrastructure/cache/create-ip-rate-limiter";
|
|
@@ -37,7 +36,6 @@ export interface ActionContext {
|
|
|
37
36
|
action: {
|
|
38
37
|
executeAction: ReturnType<typeof createExecuteAction>;
|
|
39
38
|
ipRateLimiter: (options: RateLimiterOptions) => Promise<void>;
|
|
40
|
-
configFindAction: ReturnType<typeof createConfigFindAction>;
|
|
41
39
|
};
|
|
42
40
|
emails: {
|
|
43
41
|
emailVerificationEmail: ReturnType<typeof createEmailVerificationEmail>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-context.d.ts","sourceRoot":"","sources":["../../../../../../src/server/interfaces/actions/action-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"action-context.d.ts","sourceRoot":"","sources":["../../../../../../src/server/interfaces/actions/action-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-inquiry-create-action.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/server/interfaces/actions/resources/inquiry/commands/create/create-inquiry-create-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CACzC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAC1C,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,aAAa,EAClB,iBAAiB,EAAE,MAAM,IASiB,eAEvC;IACD,QAAQ,EAAE,qBAAqB,CAAC;CACjC;;
|
|
1
|
+
{"version":3,"file":"create-inquiry-create-action.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/server/interfaces/actions/resources/inquiry/commands/create/create-inquiry-create-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CACzC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAC1C,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,aAAa,EAClB,iBAAiB,EAAE,MAAM,IASiB,eAEvC;IACD,QAAQ,EAAE,qBAAqB,CAAC;CACjC;;IAgEF"}
|