client-users-api.ts 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. import {
  2. CustomFieldWithValidatorsAndValue,
  3. CustomFieldWithValue,
  4. InputFieldValue,
  5. } from "../types/custom-fields-types.js";
  6. import { z } from "zod";
  7. class ClientUsersApi {
  8. GET_UserEventData = {
  9. res: z.object({
  10. code: z.enum(["success"]),
  11. userData: z.object({
  12. fields: z.array(
  13. CustomFieldWithValue.extend({
  14. userEfId: z.string().uuid(),
  15. }),
  16. ),
  17. isChild: z.boolean(),
  18. }),
  19. }),
  20. };
  21. GET_UserEventDataForPatch = {
  22. res: z.object({
  23. code: z.enum(["success"]),
  24. userData: z.object({
  25. fields: z.array(
  26. CustomFieldWithValidatorsAndValue.extend({
  27. userEfId: z.string().uuid(),
  28. }),
  29. ),
  30. isChild: z.boolean(),
  31. }),
  32. }),
  33. };
  34. PATCH_UserEventData = {
  35. req: {
  36. formData: {
  37. body: z.object({
  38. fields: z.array(
  39. z.object({
  40. userEfId: z.string().uuid(),
  41. value: InputFieldValue,
  42. }),
  43. ),
  44. }),
  45. },
  46. },
  47. res: z.object({
  48. code: z.enum(["success"]),
  49. }),
  50. };
  51. POST_Child = {
  52. req: {
  53. formData: {
  54. body: z.object({
  55. fields: z.array(
  56. z.object({
  57. userEfId: z.string().uuid(),
  58. value: InputFieldValue,
  59. }),
  60. ),
  61. }),
  62. },
  63. },
  64. res: z.object({
  65. code: z.enum(["success"]),
  66. }),
  67. };
  68. PATCH_Child = {
  69. req: {
  70. params: {
  71. childId: z.string().uuid(),
  72. },
  73. formData: {
  74. body: z.object({
  75. fields: z.array(
  76. z.object({
  77. userEfId: z.string().uuid(),
  78. value: InputFieldValue,
  79. }),
  80. ),
  81. }),
  82. },
  83. },
  84. res: z.object({
  85. code: z.enum(["success"]),
  86. }),
  87. };
  88. GET_Children = {
  89. res: z.object({
  90. code: z.enum(["success"]),
  91. children: z.array(
  92. z.object({
  93. userId: z.string().uuid(),
  94. userIdentity: z.string(),
  95. }),
  96. ),
  97. }),
  98. };
  99. GET_Child = {
  100. req: {
  101. params: z.object({
  102. childId: z.string().uuid(),
  103. }),
  104. },
  105. res: z.object({
  106. code: z.enum(["success"]),
  107. userData: z.object({
  108. fields: z.array(
  109. CustomFieldWithValue.extend({
  110. userEfId: z.string().uuid(),
  111. }),
  112. ),
  113. }),
  114. }),
  115. };
  116. GET_ChildForPatch = {
  117. req: {
  118. params: {
  119. childId: z.string().uuid(),
  120. },
  121. },
  122. res: z.object({
  123. code: z.enum(["success"]),
  124. userData: z.object({
  125. fields: z.array(
  126. CustomFieldWithValidatorsAndValue.extend({
  127. userEfId: z.string().uuid(),
  128. }),
  129. ),
  130. }),
  131. }),
  132. };
  133. }
  134. export const clientUsersApi = new ClientUsersApi();