Rebasely Beta: data may be purged

examples/storefront Public

TypeScript · 23 lines · 865 B · at 82cc041

import { WorkerEntrypoint } from "cloudflare:workers";import { createApp } from "./app.ts";import type { Env } from "./env.ts";import { cancelOrder, markPaid, type Settled } from "./orders.ts";// The calls the shop's other Workers make through a service binding (entrypoint OrdersService).// storefront-api stays the only Worker that writes to the database; see// .rebasely/kb/decisions/0006-one-writer-for-the-database.md.export class OrdersService extends WorkerEntrypoint<Env> {  markPaid(orderId: string, paymentIntentId: string): Promise<Settled> {    return markPaid(this.env.DB, orderId, paymentIntentId, Date.now());  }  cancel(orderId: string): Promise<Settled> {    return cancelOrder(this.env.DB, orderId, Date.now());  }}export default {  fetch(req, env) {    return createApp(env).fetch(req);  },} satisfies ExportedHandler<Env>;