Files
Kordant/web/src/server/api/schemas/billing.ts

34 lines
904 B
TypeScript

import { object, string, minLength, optional, picklist } from "valibot";
import { returnUrlSchema } from "~/lib/url-validation";
export const CreateCheckoutSessionSchema = object({
priceId: string([minLength(1)]),
returnUrl: returnUrlSchema,
});
export const CreatePortalSessionSchema = object({
returnUrl: returnUrlSchema,
});
export const CancelSubscriptionSchema = object({
subscriptionId: string([minLength(1)]),
});
export const ReactivateSubscriptionSchema = object({
subscriptionId: string([minLength(1)]),
});
export const ListInvoicesSchema = object({
limit: optional(string(), "10"),
startingAfter: optional(string()),
});
export const RequestFeatureTrialSchema = object({
feature: picklist(["voiceprint", "hometitle", "removebrokers"]),
});
export const UpgradeFromTrialSchema = object({
plan: picklist(["basic", "plus", "premium"]),
returnUrl: returnUrlSchema,
});