UNPKG

@coursebuilder/core

Version:

Core package for Course Builder

76 lines (74 loc) 1.77 kB
import { createVerificationUrl } from "./chunk-ZJOFKIX6.js"; import { __name } from "./chunk-VLQXSCFN.js"; // src/lib/actions/create-magic-link.ts async function createMagicLink(request, cookies, options) { if (!options.adapter) throw new Error("Adapter not found"); if (request.headers?.["x-skill-secret"] !== process.env.SKILL_SECRET) { return { status: 401, body: "unauthorized" }; } const { email } = request.body || {}; if (!email) { return { status: 400, body: "email is required" }; } const emailProvider = options.providers.find((p) => p.type === "email"); if (!emailProvider) { return { status: 400, body: "email provider not found" }; } const expiresIn = request.body?.expiresIn || request.query?.expiresIn; let expiresAt = void 0; if (expiresIn) { const durationInMilliseconds = expiresIn * 1e3; expiresAt = new Date(Date.now() + durationInMilliseconds); } try { const verificationDetails = await createVerificationUrl({ email, emailProvider, authOptions: options.authConfig, adapter: options.adapter, baseUrl: options.baseUrl, expiresAt }); if (!verificationDetails?.url) { return { status: 500, body: JSON.stringify({ error: "Could not create verification url" }) }; } return { status: 200, body: JSON.stringify({ url: verificationDetails.url }) }; } catch (e) { console.log("error", e); return { status: 500, body: JSON.stringify({ error: e.message }) }; } } __name(createMagicLink, "createMagicLink"); export { createMagicLink }; //# sourceMappingURL=chunk-OA3TJ3QX.js.map