feat(web): add public commission request entrypoint

This commit is contained in:
2026-02-12 21:35:34 +01:00
parent dc0a41a5ae
commit 1fddb6d858
12 changed files with 441 additions and 9 deletions

View File

@@ -29,6 +29,26 @@ export const createCommissionInputSchema = z.object({
dueAt: z.date().nullable().optional(),
})
export const createPublicCommissionRequestInputSchema = z
.object({
customerName: z.string().min(1).max(180),
customerEmail: z.string().email().max(320),
customerPhone: z.string().max(80).nullable().optional(),
customerInstagram: z.string().max(120).nullable().optional(),
title: z.string().min(1).max(180),
description: z.string().max(4000).nullable().optional(),
budgetMin: z.number().nonnegative().nullable().optional(),
budgetMax: z.number().nonnegative().nullable().optional(),
})
.refine(
(value) =>
value.budgetMin == null || value.budgetMax == null || value.budgetMax >= value.budgetMin,
{
message: "budgetMax must be greater than or equal to budgetMin.",
path: ["budgetMax"],
},
)
export const updateCommissionStatusInputSchema = z.object({
id: z.string().uuid(),
status: commissionStatusSchema,
@@ -37,4 +57,7 @@ export const updateCommissionStatusInputSchema = z.object({
export type CommissionStatus = z.infer<typeof commissionStatusSchema>
export type CreateCustomerInput = z.infer<typeof createCustomerInputSchema>
export type CreateCommissionInput = z.infer<typeof createCommissionInputSchema>
export type CreatePublicCommissionRequestInput = z.infer<
typeof createPublicCommissionRequestInputSchema
>
export type UpdateCommissionStatusInput = z.infer<typeof updateCommissionStatusInputSchema>