@amerged/ohmyhost-auth 0.1.37 → 0.1.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/README.md +1 -1
- package/dist/mail-gateway.d.ts +2 -0
- package/dist/mail-gateway.d.ts.map +1 -1
- package/dist/mail-gateway.js +8 -3
- package/dist/mail-gateway.js.map +1 -1
- package/package.json +1 -1
- package/src/packages/customer-auth-better-auth/package.json +2 -2
- package/src/packages/customer-auth-better-auth/src/mail-gateway.ts +10 -3
package/README.md
CHANGED
package/dist/mail-gateway.d.ts
CHANGED
|
@@ -9,5 +9,7 @@ export declare function createMailGatewayEmailSender(input: {
|
|
|
9
9
|
readonly key: string;
|
|
10
10
|
readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
11
11
|
readonly crypto: Crypto;
|
|
12
|
+
/** Gateway header timeout: 100–30000 ms, default 8000 ms. */
|
|
13
|
+
readonly timeoutMilliseconds?: number;
|
|
12
14
|
}): CustomerAuthEmailSender;
|
|
13
15
|
//# sourceMappingURL=mail-gateway.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail-gateway.d.ts","sourceRoot":"","sources":["../src/mail-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAI5D,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,SAAgB,IAAI,yCAAyC;;CAK9D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"mail-gateway.d.ts","sourceRoot":"","sources":["../src/mail-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAI5D,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,SAAgB,IAAI,yCAAyC;;CAK9D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC,GAAG,uBAAuB,CAmE1B"}
|
package/dist/mail-gateway.js
CHANGED
|
@@ -11,9 +11,14 @@ export function createMailGatewayEmailSender(input) {
|
|
|
11
11
|
if (typeof projectId !== "string" || !ULID_PATTERN.test(projectId))
|
|
12
12
|
throw new TypeError("Invalid canonical ULID");
|
|
13
13
|
const gatewayOrigin = canonicalOrigin(input.gatewayOrigin);
|
|
14
|
+
const fetch = input.fetch;
|
|
15
|
+
const timeoutMilliseconds = input.timeoutMilliseconds ?? 8_000;
|
|
14
16
|
if (!/^[A-Za-z0-9_-]{43}$/u.test(input.key) ||
|
|
15
17
|
typeof input.fetch !== "function" ||
|
|
16
|
-
typeof input.crypto?.subtle?.digest !== "function"
|
|
18
|
+
typeof input.crypto?.subtle?.digest !== "function" ||
|
|
19
|
+
!Number.isSafeInteger(timeoutMilliseconds) ||
|
|
20
|
+
timeoutMilliseconds < 100 ||
|
|
21
|
+
timeoutMilliseconds > 30_000) {
|
|
17
22
|
throw new TypeError("Mail gateway email sender input is invalid");
|
|
18
23
|
}
|
|
19
24
|
return Object.freeze({
|
|
@@ -35,7 +40,7 @@ export function createMailGatewayEmailSender(input) {
|
|
|
35
40
|
const idempotencyKey = await sha256Hex(input.crypto, `${message.kind}\n${message.to}\n${message.url}`);
|
|
36
41
|
let response;
|
|
37
42
|
try {
|
|
38
|
-
response = await
|
|
43
|
+
response = await fetch(`${gatewayOrigin}/v1/send`, {
|
|
39
44
|
method: "POST",
|
|
40
45
|
headers: {
|
|
41
46
|
Authorization: `Bearer ${input.key}`,
|
|
@@ -44,7 +49,7 @@ export function createMailGatewayEmailSender(input) {
|
|
|
44
49
|
},
|
|
45
50
|
body: JSON.stringify(body),
|
|
46
51
|
redirect: "manual",
|
|
47
|
-
signal: AbortSignal.timeout(
|
|
52
|
+
signal: AbortSignal.timeout(timeoutMilliseconds),
|
|
48
53
|
});
|
|
49
54
|
}
|
|
50
55
|
catch {
|
package/dist/mail-gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail-gateway.js","sourceRoot":"","sources":["../src/mail-gateway.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvC,IAAI,GAAG,qCAAqC,CAAC;IAC7D;QACE,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,UAAU,4BAA4B,CAAC,
|
|
1
|
+
{"version":3,"file":"mail-gateway.js","sourceRoot":"","sources":["../src/mail-gateway.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ohmyhost/customer-auth-better-auth",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.39",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "tsc --project tsconfig.build.json",
|
|
30
30
|
"test": "vitest run --root ../.. packages/customer-auth-better-auth/src",
|
|
31
|
-
"typecheck": "tsc --project tsconfig.json --noEmit"
|
|
31
|
+
"typecheck": "tsc --project tsconfig.json --noEmit --incremental --tsBuildInfoFile typecheck.tsbuildinfo"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@better-fetch/fetch": "1.3.1",
|
|
@@ -16,15 +16,22 @@ export function createMailGatewayEmailSender(input: {
|
|
|
16
16
|
readonly key: string;
|
|
17
17
|
readonly fetch: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
18
18
|
readonly crypto: Crypto;
|
|
19
|
+
/** Gateway header timeout: 100–30000 ms, default 8000 ms. */
|
|
20
|
+
readonly timeoutMilliseconds?: number;
|
|
19
21
|
}): CustomerAuthEmailSender {
|
|
20
22
|
const projectId = input.projectId;
|
|
21
23
|
if (typeof projectId !== "string" || !ULID_PATTERN.test(projectId))
|
|
22
24
|
throw new TypeError("Invalid canonical ULID");
|
|
23
25
|
const gatewayOrigin = canonicalOrigin(input.gatewayOrigin);
|
|
26
|
+
const fetch = input.fetch;
|
|
27
|
+
const timeoutMilliseconds = input.timeoutMilliseconds ?? 8_000;
|
|
24
28
|
if (
|
|
25
29
|
!/^[A-Za-z0-9_-]{43}$/u.test(input.key) ||
|
|
26
30
|
typeof input.fetch !== "function" ||
|
|
27
|
-
typeof input.crypto?.subtle?.digest !== "function"
|
|
31
|
+
typeof input.crypto?.subtle?.digest !== "function" ||
|
|
32
|
+
!Number.isSafeInteger(timeoutMilliseconds) ||
|
|
33
|
+
timeoutMilliseconds < 100 ||
|
|
34
|
+
timeoutMilliseconds > 30_000
|
|
28
35
|
) {
|
|
29
36
|
throw new TypeError("Mail gateway email sender input is invalid");
|
|
30
37
|
}
|
|
@@ -51,7 +58,7 @@ export function createMailGatewayEmailSender(input: {
|
|
|
51
58
|
);
|
|
52
59
|
let response: Response;
|
|
53
60
|
try {
|
|
54
|
-
response = await
|
|
61
|
+
response = await fetch(`${gatewayOrigin}/v1/send`, {
|
|
55
62
|
method: "POST",
|
|
56
63
|
headers: {
|
|
57
64
|
Authorization: `Bearer ${input.key}`,
|
|
@@ -60,7 +67,7 @@ export function createMailGatewayEmailSender(input: {
|
|
|
60
67
|
},
|
|
61
68
|
body: JSON.stringify(body),
|
|
62
69
|
redirect: "manual",
|
|
63
|
-
signal: AbortSignal.timeout(
|
|
70
|
+
signal: AbortSignal.timeout(timeoutMilliseconds),
|
|
64
71
|
});
|
|
65
72
|
} catch {
|
|
66
73
|
throw new CustomerAuthEmailDeliveryError();
|