@schemavaults/send-email 0.1.0 → 0.3.0
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/README.md +45 -0
- package/dist/cli.js +44 -16
- package/dist/cli.js.map +1 -1
- package/dist/env/get-api-key.js.map +1 -0
- package/dist/env/get-mail-server-url.d.ts +6 -0
- package/dist/{resolve-mail-server-url-from-env-vars.js → env/get-mail-server-url.js} +7 -2
- package/dist/env/get-mail-server-url.js.map +1 -0
- package/dist/env/get-mailing-list-id.d.ts +2 -0
- package/dist/env/get-mailing-list-id.js +9 -0
- package/dist/env/get-mailing-list-id.js.map +1 -0
- package/dist/index.d.ts +10 -4
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/list-email-templates.js +1 -1
- package/dist/list-email-templates.js.map +1 -1
- package/dist/parse-mail-server-url-with-env-fallback.js +3 -3
- package/dist/parse-mail-server-url-with-env-fallback.js.map +1 -1
- package/dist/send-email-request-body-schema.d.ts +6 -0
- package/dist/send-email-request-body-schema.js +9 -1
- package/dist/send-email-request-body-schema.js.map +1 -1
- package/dist/send-email-to-mailing-list.d.ts +1 -1
- package/dist/send-email-to-mailing-list.js +4 -12
- package/dist/send-email-to-mailing-list.js.map +1 -1
- package/dist/send-email.d.ts +6 -1
- package/dist/send-email.js +6 -2
- package/dist/send-email.js.map +1 -1
- package/dist/validators/email-template-id-schema.js.map +1 -0
- package/dist/validators/is-valid-url.js.map +1 -0
- package/dist/validators/is-valid-uuid.d.ts +1 -0
- package/dist/validators/is-valid-uuid.js +5 -0
- package/dist/validators/is-valid-uuid.js.map +1 -0
- package/dist/validators/transport-id-schema.d.ts +11 -0
- package/dist/validators/transport-id-schema.js +16 -0
- package/dist/validators/transport-id-schema.js.map +1 -0
- package/package.json +1 -1
- package/dist/email-template-id-schema.js.map +0 -1
- package/dist/get-api-key.js.map +0 -1
- package/dist/is-valid-url.js.map +0 -1
- package/dist/resolve-mail-server-url-from-env-vars.d.ts +0 -1
- package/dist/resolve-mail-server-url-from-env-vars.js.map +0 -1
- /package/dist/{get-api-key.d.ts → env/get-api-key.d.ts} +0 -0
- /package/dist/{get-api-key.js → env/get-api-key.js} +0 -0
- /package/dist/{email-template-id-schema.d.ts → validators/email-template-id-schema.d.ts} +0 -0
- /package/dist/{email-template-id-schema.js → validators/email-template-id-schema.js} +0 -0
- /package/dist/{is-valid-url.d.ts → validators/is-valid-url.d.ts} +0 -0
- /package/dist/{is-valid-url.js → validators/is-valid-url.js} +0 -0
package/README.md
CHANGED
|
@@ -17,6 +17,7 @@ npm install @schemavaults/send-email
|
|
|
17
17
|
| `SCHEMAVAULTS_MAIL_API_KEY` | Yes | Bearer token for the mail-server API. Starts with `svlts_mail_pk_`. |
|
|
18
18
|
| `SCHEMAVAULTS_MAILING_LIST_ID` | For mailing list sends | UUID of the target mailing list. |
|
|
19
19
|
| `SCHEMAVAULTS_APP_ENVIRONMENT` | No | `"production"` (default), `"development"`, or `"staging"`. Controls which mail-server instance is targeted. |
|
|
20
|
+
| `SCHEMAVAULTS_MAIL_SERVER_URL` | No | What is the URL of the [`@schemavaults/mail-server` instance](https://github.com/schemavaults/mail-server) to attempt sending mail through? You may also pass the `mailServerUrl` option instead of setting an environment variable. |
|
|
20
21
|
|
|
21
22
|
## Usage
|
|
22
23
|
|
|
@@ -50,6 +51,36 @@ await sendEmail({
|
|
|
50
51
|
});
|
|
51
52
|
```
|
|
52
53
|
|
|
54
|
+
### Choose a transport
|
|
55
|
+
|
|
56
|
+
When the target `@schemavaults/mail-server` instance has more than one transport configured, the optional `transport` field selects which one delivers the email. Omit it to let the mail-server use its default transport.
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
await sendEmail({
|
|
60
|
+
body: {
|
|
61
|
+
to: "user@example.com",
|
|
62
|
+
subject: "Hello",
|
|
63
|
+
message: { text: "Hello.", html: "<p>Hello.</p>" },
|
|
64
|
+
transport: "smtp-primary",
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// Equivalently, as a call-level override (sets `body.transport`):
|
|
69
|
+
await sendEmail({
|
|
70
|
+
transport: "smtp-primary",
|
|
71
|
+
body: { to: "user@example.com", subject: "Hello", message: { /* ... */ } },
|
|
72
|
+
});
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The same applies to `sendEmailToMailingList()`, and to the CLI via the global `--transport <name>` flag:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
bunx schemavaults-send-email --transport smtp-primary send \
|
|
79
|
+
--to user@example.com --subject "Hello" --text "Hello." --html "<p>Hello.</p>"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Transport names are defined by whoever configures the mail-server; this package only validates that the value looks like an identifier. An unknown transport name is rejected by the mail-server, not by the client.
|
|
83
|
+
|
|
53
84
|
### Send to a mailing list
|
|
54
85
|
|
|
55
86
|
```ts
|
|
@@ -108,6 +139,8 @@ interface ISendEmailOpts {
|
|
|
108
139
|
bearerToken?: string; // overrides SCHEMAVAULTS_MAIL_API_KEY
|
|
109
140
|
mailServerUrl?: string; // overrides resolved server URL
|
|
110
141
|
environment?: "production" | "development" | "staging";
|
|
142
|
+
dryRun?: boolean; // convenience; sets body.dryRun
|
|
143
|
+
transport?: string; // convenience; sets body.transport
|
|
111
144
|
}
|
|
112
145
|
```
|
|
113
146
|
|
|
@@ -122,6 +155,8 @@ interface ISendEmailToMailingListOpts {
|
|
|
122
155
|
bearerToken?: string;
|
|
123
156
|
mailServerUrl?: string;
|
|
124
157
|
environment?: "production" | "development" | "staging";
|
|
158
|
+
dryRun?: boolean; // convenience; sets body.dryRun
|
|
159
|
+
transport?: string; // convenience; sets body.transport
|
|
125
160
|
}
|
|
126
161
|
```
|
|
127
162
|
|
|
@@ -142,6 +177,10 @@ interface EmailTemplate {
|
|
|
142
177
|
}
|
|
143
178
|
```
|
|
144
179
|
|
|
180
|
+
### `getMailServerUrl()`
|
|
181
|
+
|
|
182
|
+
Reads and returns `SCHEMAVAULTS_MAIL_SERVER_URL` from the environment. Throws if not set.
|
|
183
|
+
|
|
145
184
|
### `getSchemaVaultsMailApiKey()`
|
|
146
185
|
|
|
147
186
|
Reads and returns `SCHEMAVAULTS_MAIL_API_KEY` from the environment. Throws if not set.
|
|
@@ -154,6 +193,10 @@ Returns a Zod schema for validating send-email request bodies. Pass `true` to al
|
|
|
154
193
|
|
|
155
194
|
Zod schema for validating template IDs: lowercase alphanumeric with hyphens/underscores, 1-64 characters, must start with a letter.
|
|
156
195
|
|
|
196
|
+
### `transportIdSchema`
|
|
197
|
+
|
|
198
|
+
Zod schema for validating transport names: lowercase alphanumeric with hyphens/underscores, 1-64 characters, must start with a lowercase letter and end with a lowercase alphanumeric character. Whether a well-formed name corresponds to a transport the mail-server actually has configured is decided server-side.
|
|
199
|
+
|
|
157
200
|
## Request body shape
|
|
158
201
|
|
|
159
202
|
The `message` field accepts either a template reference or raw content:
|
|
@@ -171,6 +214,8 @@ type SendEmailRequestBody = {
|
|
|
171
214
|
replyTo?: string;
|
|
172
215
|
cc?: string | string[];
|
|
173
216
|
bcc?: string | string[];
|
|
217
|
+
dryRun?: boolean; // server validates without dispatching
|
|
218
|
+
transport?: string; // which mail-server transport delivers this email
|
|
174
219
|
};
|
|
175
220
|
```
|
|
176
221
|
|
package/dist/cli.js
CHANGED
|
@@ -7541,12 +7541,18 @@ var coerce = {
|
|
|
7541
7541
|
};
|
|
7542
7542
|
var NEVER = INVALID;
|
|
7543
7543
|
|
|
7544
|
-
// src/email-template-id-schema.ts
|
|
7544
|
+
// src/validators/email-template-id-schema.ts
|
|
7545
7545
|
var emailTemplateIdSchema = external_exports.string().min(1, "Email template ID must be non-empty!").max(64).regex(
|
|
7546
7546
|
/^[a-z][a-z0-9_-]+$/,
|
|
7547
7547
|
"Template ID must start with a letter, and may only contain lowercase alphanumeric characters, hyphens and underscores."
|
|
7548
7548
|
);
|
|
7549
7549
|
|
|
7550
|
+
// src/validators/transport-id-schema.ts
|
|
7551
|
+
var transportIdSchema = external_exports.string().min(1, "Transport ID must be non-empty!").max(64).regex(
|
|
7552
|
+
/^[a-z]([a-z0-9_-]*[a-z0-9])?$/,
|
|
7553
|
+
"Transport ID must start with a lowercase letter and end with a lowercase alphanumeric character, and may only contain lowercase alphanumeric characters, hyphens and underscores."
|
|
7554
|
+
);
|
|
7555
|
+
|
|
7550
7556
|
// src/send-email-request-body-schema.ts
|
|
7551
7557
|
var sendEmailTemplateOptions = external_exports.object({
|
|
7552
7558
|
template_id: emailTemplateIdSchema,
|
|
@@ -7596,7 +7602,14 @@ function createSendEmailRequestBodySchema(allow_mailing_list_ids_as_recipients =
|
|
|
7596
7602
|
external_exports.string().email(),
|
|
7597
7603
|
external_exports.string().email().array().min(1).max(MAX_RECIPIENTS)
|
|
7598
7604
|
]).optional(),
|
|
7599
|
-
dryRun: external_exports.boolean().optional()
|
|
7605
|
+
dryRun: external_exports.boolean().optional(),
|
|
7606
|
+
/**
|
|
7607
|
+
* Which transport configured on the mail-server should deliver this
|
|
7608
|
+
* email? Only meaningful when the target `@schemavaults/mail-server`
|
|
7609
|
+
* instance has more than one transport configured; when omitted, the
|
|
7610
|
+
* mail-server picks its own default transport.
|
|
7611
|
+
*/
|
|
7612
|
+
transport: transportIdSchema.optional()
|
|
7600
7613
|
}).required({
|
|
7601
7614
|
to: true,
|
|
7602
7615
|
message: true,
|
|
@@ -7605,7 +7618,7 @@ function createSendEmailRequestBodySchema(allow_mailing_list_ids_as_recipients =
|
|
|
7605
7618
|
}
|
|
7606
7619
|
var sendEmailRequestBodySchema = createSendEmailRequestBodySchema();
|
|
7607
7620
|
|
|
7608
|
-
// src/get-api-key.ts
|
|
7621
|
+
// src/env/get-api-key.ts
|
|
7609
7622
|
function getSchemaVaultsMailApiKey() {
|
|
7610
7623
|
if (!process.env.SCHEMAVAULTS_MAIL_API_KEY || typeof process.env.SCHEMAVAULTS_MAIL_API_KEY !== "string") {
|
|
7611
7624
|
throw new Error(
|
|
@@ -7616,13 +7629,13 @@ function getSchemaVaultsMailApiKey() {
|
|
|
7616
7629
|
}
|
|
7617
7630
|
var get_api_key_default = getSchemaVaultsMailApiKey;
|
|
7618
7631
|
|
|
7619
|
-
// src/is-valid-url.ts
|
|
7632
|
+
// src/validators/is-valid-url.ts
|
|
7620
7633
|
function isValidUrl(val) {
|
|
7621
7634
|
return typeof val === "string" && stringType().url().safeParse(val).success;
|
|
7622
7635
|
}
|
|
7623
7636
|
|
|
7624
|
-
// src/
|
|
7625
|
-
function
|
|
7637
|
+
// src/env/get-mail-server-url.ts
|
|
7638
|
+
function getMailServerUrl() {
|
|
7626
7639
|
const SCHEMAVAULTS_MAIL_SERVER_URL = process.env.SCHEMAVAULTS_MAIL_SERVER_URL;
|
|
7627
7640
|
if (typeof SCHEMAVAULTS_MAIL_SERVER_URL === "string" && SCHEMAVAULTS_MAIL_SERVER_URL.length > 0) {
|
|
7628
7641
|
return SCHEMAVAULTS_MAIL_SERVER_URL;
|
|
@@ -7631,6 +7644,7 @@ function resolveMailServerUrlFromEnvVars() {
|
|
|
7631
7644
|
`Failed to parse mail server URL from environment variable 'SCHEMAVAULTS_MAIL_SERVER_URL'`
|
|
7632
7645
|
);
|
|
7633
7646
|
}
|
|
7647
|
+
var get_mail_server_url_default = getMailServerUrl;
|
|
7634
7648
|
|
|
7635
7649
|
// src/parse-mail-server-url-with-env-fallback.ts
|
|
7636
7650
|
function parseMailServerUrlWithEnvFallback(maybe_mail_server_url_input) {
|
|
@@ -7647,7 +7661,7 @@ function parseMailServerUrlWithEnvFallback(maybe_mail_server_url_input) {
|
|
|
7647
7661
|
mail_server_url = maybe_mail_server_url_input;
|
|
7648
7662
|
} else if (typeof maybe_mail_server_url_input === "undefined") {
|
|
7649
7663
|
try {
|
|
7650
|
-
mail_server_url =
|
|
7664
|
+
mail_server_url = get_mail_server_url_default();
|
|
7651
7665
|
} catch {
|
|
7652
7666
|
}
|
|
7653
7667
|
}
|
|
@@ -7665,7 +7679,11 @@ async function sendEmail({
|
|
|
7665
7679
|
body,
|
|
7666
7680
|
...opts
|
|
7667
7681
|
}) {
|
|
7668
|
-
const effectiveBody =
|
|
7682
|
+
const effectiveBody = {
|
|
7683
|
+
...body,
|
|
7684
|
+
...typeof opts.dryRun === "boolean" ? { dryRun: opts.dryRun } : {},
|
|
7685
|
+
...typeof opts.transport === "string" ? { transport: opts.transport } : {}
|
|
7686
|
+
};
|
|
7669
7687
|
const parsed = await body_schema.safeParseAsync(effectiveBody);
|
|
7670
7688
|
if (!parsed.success) {
|
|
7671
7689
|
console.error("Bad request body: ", parsed.error);
|
|
@@ -7711,7 +7729,12 @@ async function sendEmail({
|
|
|
7711
7729
|
}
|
|
7712
7730
|
var send_email_default = sendEmail;
|
|
7713
7731
|
|
|
7714
|
-
// src/
|
|
7732
|
+
// src/validators/is-valid-uuid.ts
|
|
7733
|
+
function isValidUuid(val) {
|
|
7734
|
+
return typeof val === "string" && external_exports.string().safeParse(val).success;
|
|
7735
|
+
}
|
|
7736
|
+
|
|
7737
|
+
// src/env/get-mailing-list-id.ts
|
|
7715
7738
|
function getSchemaVaultsMailingListId() {
|
|
7716
7739
|
if (!process.env.SCHEMAVAULTS_MAILING_LIST_ID || typeof process.env.SCHEMAVAULTS_MAILING_LIST_ID !== "string") {
|
|
7717
7740
|
throw new Error(
|
|
@@ -7720,9 +7743,8 @@ function getSchemaVaultsMailingListId() {
|
|
|
7720
7743
|
}
|
|
7721
7744
|
return process.env.SCHEMAVAULTS_MAILING_LIST_ID;
|
|
7722
7745
|
}
|
|
7723
|
-
|
|
7724
|
-
|
|
7725
|
-
}
|
|
7746
|
+
|
|
7747
|
+
// src/send-email-to-mailing-list.ts
|
|
7726
7748
|
async function sendEmailToMailingList(opts) {
|
|
7727
7749
|
let to;
|
|
7728
7750
|
if (typeof opts.mailingListId === "string") {
|
|
@@ -7730,7 +7752,7 @@ async function sendEmailToMailingList(opts) {
|
|
|
7730
7752
|
} else {
|
|
7731
7753
|
to = getSchemaVaultsMailingListId();
|
|
7732
7754
|
}
|
|
7733
|
-
if (!
|
|
7755
|
+
if (!isValidUuid(to)) {
|
|
7734
7756
|
throw new TypeError(
|
|
7735
7757
|
"Failed to parse 'to' field as a mailing list ID (UUID)!"
|
|
7736
7758
|
);
|
|
@@ -7859,6 +7881,9 @@ program2.name("schemavaults-send-email").description("CLI for sending emails via
|
|
|
7859
7881
|
).option(
|
|
7860
7882
|
"--dry-run",
|
|
7861
7883
|
"Validate the request server-side without dispatching the email"
|
|
7884
|
+
).option(
|
|
7885
|
+
"--transport <name>",
|
|
7886
|
+
"Which mail-server transport should deliver the email (defaults to the mail-server's default transport)"
|
|
7862
7887
|
);
|
|
7863
7888
|
attachBodyOptions(
|
|
7864
7889
|
program2.command("send").description("Send an email to one or more recipients").option("--to <email...>", "Recipient email address (repeatable)").option("--cc <email...>", "CC recipient (repeatable)").option("--bcc <email...>", "BCC recipient (repeatable)")
|
|
@@ -7888,7 +7913,8 @@ attachBodyOptions(
|
|
|
7888
7913
|
await send_email_default({
|
|
7889
7914
|
body,
|
|
7890
7915
|
...global.apiKey ? { bearerToken: global.apiKey } : {},
|
|
7891
|
-
...global.dryRun ? { dryRun: true } : {}
|
|
7916
|
+
...global.dryRun ? { dryRun: true } : {},
|
|
7917
|
+
...global.transport ? { transport: global.transport } : {}
|
|
7892
7918
|
});
|
|
7893
7919
|
console.log(
|
|
7894
7920
|
global.dryRun ? "[dry-run] request validated; no email sent." : "Email sent."
|
|
@@ -7910,7 +7936,8 @@ attachBodyOptions(
|
|
|
7910
7936
|
subject: fullBody.subject,
|
|
7911
7937
|
message: fullBody.message,
|
|
7912
7938
|
...fullBody.from ? { from: fullBody.from } : {},
|
|
7913
|
-
...fullBody.replyTo ? { replyTo: fullBody.replyTo } : {}
|
|
7939
|
+
...fullBody.replyTo ? { replyTo: fullBody.replyTo } : {},
|
|
7940
|
+
...fullBody.transport ? { transport: fullBody.transport } : {}
|
|
7914
7941
|
};
|
|
7915
7942
|
} else {
|
|
7916
7943
|
if (!opts.subject) {
|
|
@@ -7927,7 +7954,8 @@ attachBodyOptions(
|
|
|
7927
7954
|
body,
|
|
7928
7955
|
...opts.mailingListId ? { mailingListId: opts.mailingListId } : {},
|
|
7929
7956
|
...global.apiKey ? { bearerToken: global.apiKey } : {},
|
|
7930
|
-
...global.dryRun ? { dryRun: true } : {}
|
|
7957
|
+
...global.dryRun ? { dryRun: true } : {},
|
|
7958
|
+
...global.transport ? { transport: global.transport } : {}
|
|
7931
7959
|
});
|
|
7932
7960
|
console.log(
|
|
7933
7961
|
global.dryRun ? "[dry-run] mailing-list request validated; no email sent." : "Email sent to mailing list."
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,SAAS;AAET,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,sBAAsB,MAAM,8BAA8B,CAAC;AAClE,OAAO,kBAAkB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-api-key.js","sourceRoot":"","sources":["../../src/env/get-api-key.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB;IACvC,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB;QACtC,OAAO,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,QAAQ,EACzD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;AAC/C,CAAC;AAED,eAAe,yBAAyB,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @throws TypeError if environment variable not set
|
|
3
|
+
* @returns The mail server URL parsed from environment variable `SCHEMAVAULTS_MAIL_SERVER_URL`
|
|
4
|
+
*/
|
|
5
|
+
export function getMailServerUrl() {
|
|
2
6
|
const SCHEMAVAULTS_MAIL_SERVER_URL = process.env.SCHEMAVAULTS_MAIL_SERVER_URL;
|
|
3
7
|
if (typeof SCHEMAVAULTS_MAIL_SERVER_URL === "string" &&
|
|
4
8
|
SCHEMAVAULTS_MAIL_SERVER_URL.length > 0) {
|
|
@@ -6,4 +10,5 @@ export default function resolveMailServerUrlFromEnvVars() {
|
|
|
6
10
|
}
|
|
7
11
|
throw new TypeError(`Failed to parse mail server URL from environment variable 'SCHEMAVAULTS_MAIL_SERVER_URL'`);
|
|
8
12
|
}
|
|
9
|
-
|
|
13
|
+
export default getMailServerUrl;
|
|
14
|
+
//# sourceMappingURL=get-mail-server-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-mail-server-url.js","sourceRoot":"","sources":["../../src/env/get-mail-server-url.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,4BAA4B,GAChC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC3C,IACE,OAAO,4BAA4B,KAAK,QAAQ;QAChD,4BAA4B,CAAC,MAAM,GAAG,CAAC,EACvC,CAAC;QACD,OAAO,4BAA4B,CAAC;IACtC,CAAC;IACD,MAAM,IAAI,SAAS,CACjB,0FAA0F,CAC3F,CAAC;AACJ,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function getSchemaVaultsMailingListId() {
|
|
2
|
+
if (!process.env.SCHEMAVAULTS_MAILING_LIST_ID ||
|
|
3
|
+
typeof process.env.SCHEMAVAULTS_MAILING_LIST_ID !== "string") {
|
|
4
|
+
throw new Error("Failed to load mailing list ID from environment variable 'SCHEMAVAULTS_MAILING_LIST_ID'");
|
|
5
|
+
}
|
|
6
|
+
return process.env.SCHEMAVAULTS_MAILING_LIST_ID;
|
|
7
|
+
}
|
|
8
|
+
export default getSchemaVaultsMailingListId;
|
|
9
|
+
//# sourceMappingURL=get-mailing-list-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-mailing-list-id.js","sourceRoot":"","sources":["../../src/env/get-mailing-list-id.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,4BAA4B;IAC1C,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B;QACzC,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,QAAQ,EAC5D,CAAC;QACD,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;AAClD,CAAC;AAED,eAAe,4BAA4B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
export { sendEmailRequestBodySchema,
|
|
1
|
+
export { sendEmailRequestBodySchema, createSendEmailRequestBodySchema, } from "./send-email-request-body-schema.js";
|
|
2
2
|
export type { SendEmailRequestBody } from "./send-email-request-body-schema.js";
|
|
3
|
-
export { emailTemplateIdSchema } from "./email-template-id-schema.js";
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
3
|
+
export { emailTemplateIdSchema } from "./validators/email-template-id-schema.js";
|
|
4
|
+
export { transportIdSchema } from "./validators/transport-id-schema.js";
|
|
5
|
+
export { sendEmail, sendEmail as default, } from "./send-email.js";
|
|
6
|
+
export type { ISendEmailOpts } from './send-email.js';
|
|
7
|
+
export { getSchemaVaultsMailApiKey, } from "./env/get-api-key.js";
|
|
8
|
+
export { getSchemaVaultsMailingListId, } from "./env/get-mailing-list-id.js";
|
|
9
|
+
export { getMailServerUrl } from "./env/get-mail-server-url.js";
|
|
10
|
+
export { sendEmailToMailingList, } from "./send-email-to-mailing-list.js";
|
|
11
|
+
export type { ISendEmailToMailingListOpts } from "./send-email-to-mailing-list.js";
|
|
6
12
|
export { listEmailTemplates } from "./list-email-templates.js";
|
|
7
13
|
export type { EmailTemplate, IListEmailTemplatesOpts, } from "./list-email-templates.js";
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
export { sendEmailRequestBodySchema,
|
|
2
|
-
export { emailTemplateIdSchema } from "./email-template-id-schema.js";
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
1
|
+
export { sendEmailRequestBodySchema, createSendEmailRequestBodySchema, } from "./send-email-request-body-schema.js";
|
|
2
|
+
export { emailTemplateIdSchema } from "./validators/email-template-id-schema.js";
|
|
3
|
+
export { transportIdSchema } from "./validators/transport-id-schema.js";
|
|
4
|
+
export { sendEmail, sendEmail as default, } from "./send-email.js";
|
|
5
|
+
export { getSchemaVaultsMailApiKey, } from "./env/get-api-key.js";
|
|
6
|
+
export { getSchemaVaultsMailingListId, } from "./env/get-mailing-list-id.js";
|
|
7
|
+
export { getMailServerUrl } from "./env/get-mail-server-url.js";
|
|
8
|
+
export { sendEmailToMailingList, } from "./send-email-to-mailing-list.js";
|
|
5
9
|
export { listEmailTemplates } from "./list-email-templates.js";
|
|
6
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EACL,SAAS,EACT,SAAS,IAAI,OAAO,GACrB,MAAM,cAAc,CAAC;AAKtB,OAAO,EACL,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EACjB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import getSchemaVaultsMailApiKey from "./get-api-key.js";
|
|
1
|
+
import getSchemaVaultsMailApiKey from "./env/get-api-key.js";
|
|
2
2
|
import parseMailServerUrlWithEnvFallback from "./parse-mail-server-url-with-env-fallback.js";
|
|
3
3
|
export async function listEmailTemplates(opts = {}) {
|
|
4
4
|
const mail_server_url = parseMailServerUrlWithEnvFallback(opts.mailServerUrl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-email-templates.js","sourceRoot":"","sources":["../src/list-email-templates.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,
|
|
1
|
+
{"version":3,"file":"list-email-templates.js","sourceRoot":"","sources":["../src/list-email-templates.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,mBAAmB,CAAC;AAC1D,OAAO,iCAAiC,MAAM,2CAA2C,CAAC;AAY1F,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAgC,EAAE;IAElC,MAAM,eAAe,GAAW,iCAAiC,CAC/D,IAAI,CAAC,aAAa,CACnB,CAAC;IAEF,IAAI,WAAmB,CAAC;IACxB,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7D,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,QAAQ,GAAQ,IAAI,GAAG,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5C,IAAI,YAAY,GAAG,sDAAsD,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtC,IACE,OAAO,OAAO,KAAK,QAAQ;gBAC3B,CAAC,CAAC,OAAO;gBACT,SAAS,IAAI,OAAO;gBACpB,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EACnC,CAAC;gBACD,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;YACjC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,YAAY,CAAC,IAAuB,CAAC;AAC9C,CAAC;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import isValidUrl from "./is-valid-url.js";
|
|
2
|
-
import
|
|
1
|
+
import isValidUrl from "./validators/is-valid-url.js";
|
|
2
|
+
import getMailServerUrlFromEnvVars from "./env/get-mail-server-url.js";
|
|
3
3
|
export default function parseMailServerUrlWithEnvFallback(maybe_mail_server_url_input) {
|
|
4
4
|
if (typeof maybe_mail_server_url_input !== "string" &&
|
|
5
5
|
typeof maybe_mail_server_url_input !== "undefined") {
|
|
@@ -13,7 +13,7 @@ export default function parseMailServerUrlWithEnvFallback(maybe_mail_server_url_
|
|
|
13
13
|
}
|
|
14
14
|
else if (typeof maybe_mail_server_url_input === "undefined") {
|
|
15
15
|
try {
|
|
16
|
-
mail_server_url =
|
|
16
|
+
mail_server_url = getMailServerUrlFromEnvVars();
|
|
17
17
|
}
|
|
18
18
|
catch {
|
|
19
19
|
/** no-op */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-mail-server-url-with-env-fallback.js","sourceRoot":"","sources":["../src/parse-mail-server-url-with-env-fallback.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"parse-mail-server-url-with-env-fallback.js","sourceRoot":"","sources":["../src/parse-mail-server-url-with-env-fallback.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,2BAA2B,MAAM,2BAA2B,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,iCAAiC,CACvD,2BAA+C;IAE/C,IACE,OAAO,2BAA2B,KAAK,QAAQ;QAC/C,OAAO,2BAA2B,KAAK,WAAW,EAClD,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,8DAA8D,EAC9D;YACE,KAAK,EAAE,kBAAkB,OAAO,2BAA2B,GAAG;SAC/D,CACF,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,GAAuB,SAAS,CAAC;IACpD,IAAI,OAAO,2BAA2B,KAAK,QAAQ,EAAE,CAAC;QACpD,eAAe,GAAG,2BAA2B,CAAC;IAChD,CAAC;SAAM,IAAI,OAAO,2BAA2B,KAAK,WAAW,EAAE,CAAC;QAC9D,IAAI,CAAC;YACH,eAAe,GAAG,2BAA2B,EAAE,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CACjB,8HAA8H,CAC/H,CAAC;IACJ,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -32,6 +32,7 @@ export declare function createSendEmailRequestBodySchema(allow_mailing_list_ids_
|
|
|
32
32
|
cc: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
33
33
|
bcc: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
34
34
|
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
35
|
+
transport: z.ZodOptional<z.ZodString>;
|
|
35
36
|
}, "strict", z.ZodTypeAny, {
|
|
36
37
|
message: {
|
|
37
38
|
template_id: string;
|
|
@@ -47,6 +48,7 @@ export declare function createSendEmailRequestBodySchema(allow_mailing_list_ids_
|
|
|
47
48
|
cc?: string | string[] | undefined;
|
|
48
49
|
bcc?: string | string[] | undefined;
|
|
49
50
|
dryRun?: boolean | undefined;
|
|
51
|
+
transport?: string | undefined;
|
|
50
52
|
}, {
|
|
51
53
|
message: {
|
|
52
54
|
template_id: string;
|
|
@@ -62,6 +64,7 @@ export declare function createSendEmailRequestBodySchema(allow_mailing_list_ids_
|
|
|
62
64
|
cc?: string | string[] | undefined;
|
|
63
65
|
bcc?: string | string[] | undefined;
|
|
64
66
|
dryRun?: boolean | undefined;
|
|
67
|
+
transport?: string | undefined;
|
|
65
68
|
}>;
|
|
66
69
|
/**
|
|
67
70
|
* Default send email request body schema
|
|
@@ -97,6 +100,7 @@ export declare const sendEmailRequestBodySchema: z.ZodObject<{
|
|
|
97
100
|
cc: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
98
101
|
bcc: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
99
102
|
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
103
|
+
transport: z.ZodOptional<z.ZodString>;
|
|
100
104
|
}, "strict", z.ZodTypeAny, {
|
|
101
105
|
message: {
|
|
102
106
|
template_id: string;
|
|
@@ -112,6 +116,7 @@ export declare const sendEmailRequestBodySchema: z.ZodObject<{
|
|
|
112
116
|
cc?: string | string[] | undefined;
|
|
113
117
|
bcc?: string | string[] | undefined;
|
|
114
118
|
dryRun?: boolean | undefined;
|
|
119
|
+
transport?: string | undefined;
|
|
115
120
|
}, {
|
|
116
121
|
message: {
|
|
117
122
|
template_id: string;
|
|
@@ -127,6 +132,7 @@ export declare const sendEmailRequestBodySchema: z.ZodObject<{
|
|
|
127
132
|
cc?: string | string[] | undefined;
|
|
128
133
|
bcc?: string | string[] | undefined;
|
|
129
134
|
dryRun?: boolean | undefined;
|
|
135
|
+
transport?: string | undefined;
|
|
130
136
|
}>;
|
|
131
137
|
export type SendEmailRequestBody = z.infer<typeof sendEmailRequestBodySchema>;
|
|
132
138
|
export default createSendEmailRequestBodySchema;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { emailTemplateIdSchema } from "./email-template-id-schema.js";
|
|
2
|
+
import { emailTemplateIdSchema } from "./validators/email-template-id-schema.js";
|
|
3
|
+
import { transportIdSchema } from "./validators/transport-id-schema.js";
|
|
3
4
|
const sendEmailTemplateOptions = z
|
|
4
5
|
.object({
|
|
5
6
|
template_id: emailTemplateIdSchema,
|
|
@@ -61,6 +62,13 @@ export function createSendEmailRequestBodySchema(allow_mailing_list_ids_as_recip
|
|
|
61
62
|
])
|
|
62
63
|
.optional(),
|
|
63
64
|
dryRun: z.boolean().optional(),
|
|
65
|
+
/**
|
|
66
|
+
* Which transport configured on the mail-server should deliver this
|
|
67
|
+
* email? Only meaningful when the target `@schemavaults/mail-server`
|
|
68
|
+
* instance has more than one transport configured; when omitted, the
|
|
69
|
+
* mail-server picks its own default transport.
|
|
70
|
+
*/
|
|
71
|
+
transport: transportIdSchema.optional(),
|
|
64
72
|
})
|
|
65
73
|
.required({
|
|
66
74
|
to: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-email-request-body-schema.js","sourceRoot":"","sources":["../src/send-email-request-body-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"send-email-request-body-schema.js","sourceRoot":"","sources":["../src/send-email-request-body-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SendEmailRequestBody } from "./send-email-request-body-schema.js";
|
|
2
2
|
import { type ISendEmailOpts } from "./send-email.js";
|
|
3
|
-
export
|
|
3
|
+
export { getSchemaVaultsMailingListId } from './env/get-mailing-list-id.js';
|
|
4
4
|
export interface ISendEmailToMailingListOpts extends Omit<ISendEmailOpts, "body"> {
|
|
5
5
|
body: Omit<SendEmailRequestBody, "to" | "cc" | "bcc">;
|
|
6
6
|
mailingListId?: string;
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import sendEmail from "./send-email.js";
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
typeof process.env.SCHEMAVAULTS_MAILING_LIST_ID !== "string") {
|
|
6
|
-
throw new Error("Failed to load mailing list ID from environment variable 'SCHEMAVAULTS_MAILING_LIST_ID'");
|
|
7
|
-
}
|
|
8
|
-
return process.env.SCHEMAVAULTS_MAILING_LIST_ID;
|
|
9
|
-
}
|
|
10
|
-
function isUuid(val) {
|
|
11
|
-
return typeof val === "string" && z.string().safeParse(val).success;
|
|
12
|
-
}
|
|
2
|
+
import isValidUuid from "./validators/is-valid-uuid.js";
|
|
3
|
+
import { getSchemaVaultsMailingListId } from './env/get-mailing-list-id.js';
|
|
4
|
+
export { getSchemaVaultsMailingListId } from './env/get-mailing-list-id.js';
|
|
13
5
|
export async function sendEmailToMailingList(opts) {
|
|
14
6
|
let to;
|
|
15
7
|
if (typeof opts.mailingListId === "string") {
|
|
@@ -18,7 +10,7 @@ export async function sendEmailToMailingList(opts) {
|
|
|
18
10
|
else {
|
|
19
11
|
to = getSchemaVaultsMailingListId();
|
|
20
12
|
}
|
|
21
|
-
if (!
|
|
13
|
+
if (!isValidUuid(to)) {
|
|
22
14
|
throw new TypeError("Failed to parse 'to' field as a mailing list ID (UUID)!");
|
|
23
15
|
}
|
|
24
16
|
return await sendEmail({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-email-to-mailing-list.js","sourceRoot":"","sources":["../src/send-email-to-mailing-list.ts"],"names":[],"mappings":"AACA,OAAO,SAAkC,MAAM,cAAc,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"send-email-to-mailing-list.js","sourceRoot":"","sources":["../src/send-email-to-mailing-list.ts"],"names":[],"mappings":"AACA,OAAO,SAAkC,MAAM,cAAc,CAAC;AAC9D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAUzE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAiC;IAEjC,IAAI,EAAU,CAAC;IACf,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC3C,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,EAAE,GAAG,4BAA4B,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CACjB,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,SAAS,CAAC;QACrB,GAAG,IAAI;QACP,IAAI,EAAE;YACJ,GAAG,IAAI,CAAC,IAAI;YACZ,EAAE;SACH;KACF,CAAC,CAAC;AACL,CAAC;AAED,eAAe,sBAAsB,CAAC"}
|
package/dist/send-email.d.ts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { type SendEmailRequestBody } from "./send-email-request-body-schema.js";
|
|
2
|
-
import getSchemaVaultsMailApiKey from "./get-api-key.js";
|
|
2
|
+
import getSchemaVaultsMailApiKey from "./env/get-api-key.js";
|
|
3
3
|
export interface ISendEmailOpts {
|
|
4
4
|
body: SendEmailRequestBody;
|
|
5
5
|
bearerToken?: string;
|
|
6
6
|
mailServerUrl?: string;
|
|
7
7
|
dryRun?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Convenience override for `body.transport` -- names which of the
|
|
10
|
+
* mail-server's configured transports should deliver this email.
|
|
11
|
+
*/
|
|
12
|
+
transport?: string;
|
|
8
13
|
}
|
|
9
14
|
export { getSchemaVaultsMailApiKey };
|
|
10
15
|
export declare function sendEmail({ body, ...opts }: ISendEmailOpts): Promise<void>;
|
package/dist/send-email.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
// send-email.ts
|
|
2
2
|
import { createSendEmailRequestBodySchema, } from "./send-email-request-body-schema.js";
|
|
3
|
-
import getSchemaVaultsMailApiKey from "./get-api-key.js";
|
|
3
|
+
import getSchemaVaultsMailApiKey from "./env/get-api-key.js";
|
|
4
4
|
import parseMailServerUrlWithEnvFallback from "./parse-mail-server-url-with-env-fallback.js";
|
|
5
5
|
const body_schema = createSendEmailRequestBodySchema(true);
|
|
6
6
|
export { getSchemaVaultsMailApiKey };
|
|
7
7
|
export async function sendEmail({ body, ...opts }) {
|
|
8
|
-
const effectiveBody =
|
|
8
|
+
const effectiveBody = {
|
|
9
|
+
...body,
|
|
10
|
+
...(typeof opts.dryRun === "boolean" ? { dryRun: opts.dryRun } : {}),
|
|
11
|
+
...(typeof opts.transport === "string" ? { transport: opts.transport } : {}),
|
|
12
|
+
};
|
|
9
13
|
const parsed = await body_schema.safeParseAsync(effectiveBody);
|
|
10
14
|
if (!parsed.success) {
|
|
11
15
|
console.error("Bad request body: ", parsed.error);
|
package/dist/send-email.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-email.js","sourceRoot":"","sources":["../src/send-email.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAEhB,OAAO,EAEL,gCAAgC,GACjC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,yBAAyB,MAAM,
|
|
1
|
+
{"version":3,"file":"send-email.js","sourceRoot":"","sources":["../src/send-email.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-template-id-schema.js","sourceRoot":"","sources":["../../src/validators/email-template-id-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;KAC9C,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CACJ,oBAAoB,EACpB,wHAAwH,CACzH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-valid-url.js","sourceRoot":"","sources":["../../src/validators/is-valid-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAE7B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,GAAY;IAC7C,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function isValidUuid(val: unknown): val is string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-valid-uuid.js","sourceRoot":"","sources":["../../src/validators/is-valid-uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,GAAY;IAC9C,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Identifier of a transport configured on the target `@schemavaults/mail-server`
|
|
4
|
+
* instance (e.g. "resend", "smtp-primary", "ses_us_east_1").
|
|
5
|
+
*
|
|
6
|
+
* Transport names are chosen by whoever configures the mail-server, so this
|
|
7
|
+
* schema only enforces that the value looks like an identifier -- the
|
|
8
|
+
* mail-server is the authority on whether the named transport actually exists.
|
|
9
|
+
*/
|
|
10
|
+
export declare const transportIdSchema: z.ZodString;
|
|
11
|
+
export default transportIdSchema;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Identifier of a transport configured on the target `@schemavaults/mail-server`
|
|
4
|
+
* instance (e.g. "resend", "smtp-primary", "ses_us_east_1").
|
|
5
|
+
*
|
|
6
|
+
* Transport names are chosen by whoever configures the mail-server, so this
|
|
7
|
+
* schema only enforces that the value looks like an identifier -- the
|
|
8
|
+
* mail-server is the authority on whether the named transport actually exists.
|
|
9
|
+
*/
|
|
10
|
+
export const transportIdSchema = z
|
|
11
|
+
.string()
|
|
12
|
+
.min(1, "Transport ID must be non-empty!")
|
|
13
|
+
.max(64)
|
|
14
|
+
.regex(/^[a-z]([a-z0-9_-]*[a-z0-9])?$/, "Transport ID must start with a lowercase letter and end with a lowercase alphanumeric character, and may only contain lowercase alphanumeric characters, hyphens and underscores.");
|
|
15
|
+
export default transportIdSchema;
|
|
16
|
+
//# sourceMappingURL=transport-id-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport-id-schema.js","sourceRoot":"","sources":["../../src/validators/transport-id-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,iCAAiC,CAAC;KACzC,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CACJ,+BAA+B,EAC/B,mLAAmL,CACpL,CAAC;AAEJ,eAAe,iBAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"email-template-id-schema.js","sourceRoot":"","sources":["../src/email-template-id-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;KAC9C,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CACJ,oBAAoB,EACpB,wHAAwH,CACzH,CAAC"}
|
package/dist/get-api-key.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-api-key.js","sourceRoot":"","sources":["../src/get-api-key.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB;IACvC,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB;QACtC,OAAO,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,QAAQ,EACzD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;AAC/C,CAAC;AAED,eAAe,yBAAyB,CAAC"}
|
package/dist/is-valid-url.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"is-valid-url.js","sourceRoot":"","sources":["../src/is-valid-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAE7B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,GAAY;IAC7C,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;AAC1E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function resolveMailServerUrlFromEnvVars(): string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-mail-server-url-from-env-vars.js","sourceRoot":"","sources":["../src/resolve-mail-server-url-from-env-vars.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,+BAA+B;IACrD,MAAM,4BAA4B,GAChC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC3C,IACE,OAAO,4BAA4B,KAAK,QAAQ;QAChD,4BAA4B,CAAC,MAAM,GAAG,CAAC,EACvC,CAAC;QACD,OAAO,4BAA4B,CAAC;IACtC,CAAC;IACD,MAAM,IAAI,SAAS,CACjB,0FAA0F,CAC3F,CAAC;AACJ,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|