34 lines
904 B
TypeScript
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,
|
|
});
|