Files
cfw-autumn/shared/api/customers/cusPlans/mappers/apiPurchaseV0ToSubscriptionV0.ts
2026-02-13 15:50:07 +00:00

30 lines
845 B
TypeScript

import { planV1ToV0 } from "@api/products/mappers/planV1ToV0.js";
import type { ApiSubscription } from "../apiSubscription.js";
import type { ApiPurchaseV0 } from "../apiSubscriptionV1.js";
/**
* Converts an ApiPurchaseV0 to an ApiSubscription (V0) for backwards compatibility.
* Purchases are represented as subscriptions with sensible defaults for missing fields.
*/
export function apiPurchaseV0ToSubscriptionV0({
input,
}: {
input: ApiPurchaseV0;
}): ApiSubscription {
return {
plan: input.plan ? planV1ToV0(input.plan) : undefined,
plan_id: input.plan_id,
default: false,
add_on: true,
status: "active",
past_due: false,
canceled_at: null,
expires_at: input.expires_at,
trial_ends_at: null,
started_at: input.started_at,
current_period_start: null,
current_period_end: null,
quantity: input.quantity,
};
}