client-pe-api.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { CustomFieldWithUserCopyValue } from "../types/pe-types.js";
  2. import { z } from "zod";
  3. class ClientPartEntitiesApi {
  4. GET_EventPeTypes = {
  5. res: z.object({
  6. code: z.enum(["success"]),
  7. peTypes: z.array(
  8. z.object({
  9. peTypeId: z.string().uuid(),
  10. code: z.string(),
  11. name: z.string(),
  12. }),
  13. ),
  14. }),
  15. };
  16. GET_PeType = {
  17. req: z.object({
  18. peTypeCode: z.string(),
  19. }),
  20. res: z.object({
  21. code: z.enum(["success"]),
  22. peType: z.object({
  23. peTypeId: z.string().uuid(),
  24. code: z.string(),
  25. name: z.string(),
  26. fields: z.array(
  27. CustomFieldWithUserCopyValue.extend({ isCopyUserValue: z.boolean() }),
  28. ),
  29. }),
  30. }),
  31. };
  32. GET_PartEntities = {
  33. res: z.object({
  34. code: z.enum(["success"]),
  35. partEntities: z.array(
  36. z.object({ peId: z.string().uuid(), name: z.string() }),
  37. ),
  38. }),
  39. };
  40. GET_PartEntity = {
  41. req: z.object({
  42. peId: z.string().uuid(),
  43. }),
  44. res: z.object({
  45. peId: z.string().uuid(),
  46. name: z.string(),
  47. members: z.array(
  48. z.object({
  49. memberId: z.string(),
  50. userId: z.string().uuid(),
  51. email: z.string().email(),
  52. firstName: z.string(),
  53. lastName: z.string(),
  54. patronymic: z.string(),
  55. }),
  56. ),
  57. }),
  58. };
  59. }
  60. export const clientPartEntitiesApi = new ClientPartEntitiesApi();