import { NextRequest, NextResponse } from "next/server"; import { createSubscription, listSubscriptions } from "@/lib/subscriptions-store"; import { isSiaxError, siaxErrorResponseForLegacy } from "../siax-error-mapping"; // GET /api/subscriptions — feeds list. POST — convert an order to a recurring feed. export async function GET() { try { return NextResponse.json(await listSubscriptions()); } catch (err: unknown) { // 0pt#53: durable-store failure -> documented DEPENDENCY_UNAVAILABLE/503. if (isSiaxError(err)) return siaxErrorResponseForLegacy(err); throw err; } } export async function POST(req: NextRequest) { const parsed = await req.json().catch(() => ({})); const body = parsed && typeof parsed === "object" ? parsed : {}; if (!body.order_id) { return NextResponse.json({ error: { code: "bad_request", message: "order_id krävs" } }, { status: 400 }); } try { const sub = await createSubscription(body.order_id, body.cadence ?? "weekly", body.webhook_url ?? null); return NextResponse.json(sub, { status: 201 }); } catch (err: unknown) { if (isSiaxError(err)) return siaxErrorResponseForLegacy(err); throw err; } }