locations-management-api.ts 939 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import { z } from "zod";
  2. class locationsManagementApi {
  3. ZCreateLocation = {
  4. req: z.object({
  5. name: z.string(),
  6. eventId: z.string().uuid(),
  7. rooms: z.array(
  8. z.object({
  9. name: z.string(),
  10. parentId: z.string().uuid().nullable(),
  11. }),
  12. ),
  13. }),
  14. res: z.object({
  15. code: z.enum(["success"]),
  16. }),
  17. };
  18. ZGetEventLocations = {
  19. req: z.object({
  20. eventId: z.string().uuid(),
  21. }),
  22. res: z.object({
  23. code: z.enum(["success"]),
  24. locations: z.array(
  25. z.object({
  26. location_id: z.string().uuid(),
  27. name: z.string(),
  28. rooms: z.array(
  29. z.object({
  30. room_id: z.string().uuid(),
  31. name: z.string(),
  32. parent_id: z.string().uuid().nullable(),
  33. }),
  34. ),
  35. }),
  36. ),
  37. }),
  38. };
  39. }
  40. export const LocationsManagementApi = new locationsManagementApi();