UNPKG

@coursebuilder/core

Version:

Core package for Course Builder

61 lines (59 loc) 1.83 kB
import { NEW_PURCHASE_CREATED_EVENT } from "./chunk-K5LCDWG2.js"; import { sendServerEmail } from "./chunk-ZJOFKIX6.js"; import { __name } from "./chunk-VLQXSCFN.js"; // src/inngest/commerce/send-post-purchase-email.ts import { NonRetriableError } from "inngest"; var sendPostPurchaseEmailConfig = { id: `send-post-purchase-email`, name: "Send Post Purchase Email" }; var sendPostPurchaseEmailTrigger = { event: NEW_PURCHASE_CREATED_EVENT }; var sendPostPurchaseEmailHandler = /* @__PURE__ */ __name(async ({ event, step, db, siteRootUrl, emailProvider, getAuthConfig }) => { const purchase = await step.run("Load Purchase", async () => { return db.getPurchase(event.data.purchaseId); }); if (!purchase || !purchase.userId) { throw new NonRetriableError("Purchase not found"); } const user = await step.run("Load User", async () => { if (!purchase.userId) { throw new NonRetriableError("No user id for purchase."); } return db.getUserById(purchase.userId); }); if (!user) { throw new NonRetriableError("User not found"); } return await step.run("send customer email", async () => { return await sendServerEmail({ email: user.email, callbackUrl: `${siteRootUrl}/welcome?purchaseId=${purchase.id}`, baseUrl: siteRootUrl, authOptions: getAuthConfig(), emailProvider, adapter: db, merchantChargeId: purchase.merchantChargeId, type: "purchase" }); }); }, "sendPostPurchaseEmailHandler"); var sendPostPurchaseEmail = { config: sendPostPurchaseEmailConfig, trigger: sendPostPurchaseEmailTrigger, handler: sendPostPurchaseEmailHandler }; export { sendPostPurchaseEmailConfig, sendPostPurchaseEmailTrigger, sendPostPurchaseEmailHandler, sendPostPurchaseEmail }; //# sourceMappingURL=chunk-S5UHJ42K.js.map