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

52 lines
1.4 KiB
TypeScript

import { object, string, minLength, optional, number, picklist, boolean } from "valibot";
export const PersonalInfoSchema = object({
fullName: string([minLength(1)]),
email: optional(string()),
phone: optional(string()),
address: optional(string()),
city: optional(string()),
state: optional(string()),
zip: optional(string()),
dob: optional(string()),
});
export const CreateRemovalRequestSchema = object({
brokerId: string([minLength(1)]),
personalInfo: PersonalInfoSchema,
});
export const RequestStatusSchema = object({
requestId: string([minLength(1)]),
});
export const ScanListingsSchema = object({
brokerId: optional(string()),
});
export const BrokerListingsFilterSchema = object({
brokerId: optional(string()),
page: optional(number(), 1),
limit: optional(number(), 20),
});
export const RemovalRequestsFilterSchema = object({
status: optional(picklist(["PENDING", "SUBMITTED", "IN_PROGRESS", "COMPLETED", "FAILED", "REJECTED", "CANCELLED"])),
page: optional(number(), 1),
limit: optional(number(), 20),
});
export const EnableAdapterSchema = object({
brokerId: string([minLength(1)]),
});
export const ReScanConfigSchema = object({
cooldownDays: optional(number(), 7),
batchSize: optional(number(), 50),
autoReSubmit: optional(boolean(), true),
});
export const CostHistorySchema = object({
months: optional(number(), 6),
});