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, });