import { CustomFieldWithUserCopyValue } from "../types/pe-types.js"; import { z } from "zod"; class ClientPartEntitiesApi { GET_EventPeTypes = { res: z.object({ code: z.enum(["success"]), peTypes: z.array( z.object({ peTypeId: z.string().uuid(), code: z.string(), name: z.string(), }), ), }), }; GET_PeType = { req: z.object({ peTypeCode: z.string(), }), res: z.object({ code: z.enum(["success"]), peType: z.object({ peTypeId: z.string().uuid(), code: z.string(), name: z.string(), fields: z.array( CustomFieldWithUserCopyValue.extend({ isCopyUserValue: z.boolean() }), ), }), }), }; GET_PartEntities = { res: z.object({ code: z.enum(["success"]), partEntities: z.array( z.object({ peId: z.string().uuid(), name: z.string() }), ), }), }; GET_PartEntity = { req: z.object({ peId: z.string().uuid(), }), res: z.object({ peId: z.string().uuid(), name: z.string(), members: z.array( z.object({ memberId: z.string(), userId: z.string().uuid(), email: z.string().email(), firstName: z.string(), lastName: z.string(), patronymic: z.string(), }), ), }), }; } export const clientPartEntitiesApi = new ClientPartEntitiesApi();