Update stuff so we can pass build hopefully
Build and Push Next App / build-next (push) Has been cancelled
Build and Push Next App / quality (push) Has been cancelled

This commit is contained in:
Gabriel Brown
2026-06-21 21:51:41 -05:00
parent c33d3cc02d
commit efb0237145
@@ -1,7 +1,39 @@
import type { EmailConfig, EmailUserConfig } from '@auth/core/providers/email'; import type { EmailConfig, EmailUserConfig } from '@auth/core/providers/email';
import { generateRandomString, RandomReader } from '@oslojs/crypto/random'; import { generateRandomString, RandomReader } from '@oslojs/crypto/random';
import { alphabet } from 'oslo/crypto'; import { alphabet } from 'oslo/crypto';
import { UseSend } from 'usesend-js';
type UseSendEmailPayload = {
from: string;
to: string[];
subject: string;
text: string;
html: string;
};
const sendUseSendEmail = async (
apiKey: string,
useSendUrl: string,
payload: UseSendEmailPayload,
) => {
const response = await fetch(`${useSendUrl}/api/v1/emails`, {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(payload),
});
if (!response.ok) {
let errorBody: unknown;
try {
errorBody = await response.json();
} catch {
errorBody = response.statusText;
}
throw new Error(`UseSend error: ${JSON.stringify(errorBody)}`);
}
};
export default function UseSendProvider(config: EmailUserConfig): EmailConfig { export default function UseSendProvider(config: EmailUserConfig): EmailConfig {
return { return {
@@ -32,13 +64,11 @@ export default function UseSendProvider(config: EmailUserConfig): EmailConfig {
throw new Error('USESEND_API_KEY and USESEND_URL must be set.'); throw new Error('USESEND_API_KEY and USESEND_URL must be set.');
} }
const useSend = new UseSend(apiKey, useSendUrl);
// For password reset, we want to send the code, not the magic link // For password reset, we want to send the code, not the magic link
const isPasswordReset = const isPasswordReset =
url.includes('reset') || provider.id.includes('reset'); url.includes('reset') || provider.id.includes('reset');
const result = await useSend.emails.send({ await sendUseSendEmail(apiKey, useSendUrl, {
from: provider.from ?? 'noreply@example.com', from: provider.from ?? 'noreply@example.com',
to: [to], to: [to],
subject: isPasswordReset subject: isPasswordReset
@@ -70,10 +100,6 @@ export default function UseSendProvider(config: EmailUserConfig): EmailConfig {
</div> </div>
`, `,
}); });
if (result.error) {
throw new Error('UseSend error: ' + JSON.stringify(result.error));
}
}, },
options: config, options: config,