@coursebuilder/core
Version:
Core package for Course Builder
61 lines (59 loc) • 1.83 kB
JavaScript
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