Ctrl K
ComunidadGuías…

custom-worker.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
// Entry for Wrangler (`wrangler.jsonc` → main).
// Imports `.open-next/worker.js`, which OpenNext generates after `next build`.
// This file is excluded from tsconfig so Next typechecking does not require that file yet.
import handler from "./.open-next/worker.js";
import { generateBiweeklyAffiliatePayoutReports } from "./src/worker/affiliate-payout-reports";
import { processCheckoutReminders } from "./src/worker/checkout-reminders";
import { processScheduledEmailCampaigns } from "./src/worker/email-campaigns";
import { getStoreDomainRedirect } from "./store-domain-redirect";

export default {
  async fetch(request, env, context) {
    const redirect = await getStoreDomainRedirect(request, env.DB);
    return redirect || handler.fetch(request, env, context);
  },
  scheduled(_event, env, context) {
    context.waitUntil(
      Promise.all([
        generateBiweeklyAffiliatePayoutReports(env.DB).then((result) => {
          console.info("Biweekly affiliate payout reports generated", result);
        }),
        processCheckoutReminders(env).then((result) => {
          console.info("Abandoned checkout reminders processed", result);
        }),
        processScheduledEmailCampaigns(env).then((result) => {
          console.info("Scheduled email campaigns processed", result);
        }),
      ]),
    );
  },
} satisfies ExportedHandler<CloudflareEnv>;

export {
  BucketCachePurge,
  DOQueueHandler,
  DOShardedTagCache,
} from "./.open-next/worker.js";