import { CustomFieldWithValidatorsAndValue, CustomFieldWithValue, InputFieldValue, } from "../types/custom-fields-types.js"; import { z } from "zod"; class ClientUsersApi { GET_UserEventData = { res: z.object({ code: z.enum(["success"]), userData: z.object({ fields: z.array( CustomFieldWithValue.extend({ userEfId: z.string().uuid(), }), ), isChild: z.boolean(), }), }), }; GET_UserEventDataForPatch = { res: z.object({ code: z.enum(["success"]), userData: z.object({ fields: z.array( CustomFieldWithValidatorsAndValue.extend({ userEfId: z.string().uuid(), }), ), isChild: z.boolean(), }), }), }; PATCH_UserEventData = { req: { formData: { body: z.object({ fields: z.array( z.object({ userEfId: z.string().uuid(), value: InputFieldValue, }), ), }), }, }, res: z.object({ code: z.enum(["success"]), }), }; POST_Child = { req: { formData: { body: z.object({ fields: z.array( z.object({ userEfId: z.string().uuid(), value: InputFieldValue, }), ), }), }, }, res: z.object({ code: z.enum(["success"]), }), }; PATCH_Child = { req: { params: { childId: z.string().uuid(), }, formData: { body: z.object({ fields: z.array( z.object({ userEfId: z.string().uuid(), value: InputFieldValue, }), ), }), }, }, res: z.object({ code: z.enum(["success"]), }), }; GET_Children = { res: z.object({ code: z.enum(["success"]), children: z.array( z.object({ userId: z.string().uuid(), userIdentity: z.string(), }), ), }), }; GET_Child = { req: { params: z.object({ childId: z.string().uuid(), }), }, res: z.object({ code: z.enum(["success"]), userData: z.object({ fields: z.array( CustomFieldWithValue.extend({ userEfId: z.string().uuid(), }), ), }), }), }; GET_ChildForPatch = { req: { params: { childId: z.string().uuid(), }, }, res: z.object({ code: z.enum(["success"]), userData: z.object({ fields: z.array( CustomFieldWithValidatorsAndValue.extend({ userEfId: z.string().uuid(), }), ), }), }), }; } export const clientUsersApi = new ClientUsersApi();