db-schema.ts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. import { z } from "zod";
  2. const DbSchema = {
  3. ev: {
  4. eventDates: {
  5. eventId: z.string().uuid(),
  6. date: z.string().datetime(),
  7. },
  8. eventLocations: {
  9. eventId: z.string().uuid(),
  10. locationId: z.string().uuid(),
  11. },
  12. eventManagers: {
  13. eventId: z.string().uuid(),
  14. userId: z.string().uuid(),
  15. },
  16. events: {
  17. eventId: z.string().uuid(),
  18. localName: z.string(),
  19. timezone: z.string(),
  20. companyId: z.string().uuid(),
  21. },
  22. locations: {
  23. locationId: z.string().uuid(),
  24. name: z.string(),
  25. eventId: z.string().uuid(),
  26. },
  27. perms: {
  28. permId: z.string(),
  29. name: z.string(),
  30. defaultValue: z.boolean(),
  31. },
  32. programPoints: {
  33. programPointId: z.string().uuid(),
  34. name: z.string().min(1),
  35. startDate: z.string().datetime(),
  36. endDate: z.string().datetime(),
  37. eventId: z.string().uuid(),
  38. roomId: z.string().uuid().nullable(),
  39. group: z.string(),
  40. isInternal: z.boolean(),
  41. },
  42. roleTokens: {
  43. token: z.string().uuid(),
  44. roleId: z.string().uuid(),
  45. capacity: z.number(),
  46. },
  47. roleTokenConnections: {
  48. connectionId: z.string().uuid(),
  49. token: z.string().uuid(),
  50. username: z.string(),
  51. },
  52. roles: {
  53. roleId: z.string().uuid(),
  54. eventId: z.string().uuid(),
  55. name: z.string(),
  56. },
  57. rolesOverrides: {
  58. roleId: z.string().uuid(),
  59. permId: z.string(),
  60. newValue: z.boolean(),
  61. },
  62. rooms: {
  63. roomId: z.string().uuid(),
  64. name: z.string(),
  65. locationId: z.string().uuid(),
  66. parentId: z.string().uuid().nullable(),
  67. },
  68. taskBlocks: {
  69. taskBlockId: z.string().uuid(),
  70. name: z.string(),
  71. eventId: z.string().uuid(),
  72. },
  73. taskExecutors: {
  74. taskId: z.string().uuid(),
  75. roleId: z.string().uuid(),
  76. },
  77. tasks: {
  78. taskId: z.string().uuid(),
  79. name: z.string(),
  80. startDate: z.string().datetime().nullable(),
  81. endDate: z.string().datetime().nullable(),
  82. accountableId: z.string().uuid().nullable(),
  83. isTodo: z.boolean(),
  84. programPointId: z.string().uuid().nullable(),
  85. roomId: z.string().uuid().nullable(),
  86. taskBlockId: z.string().uuid(),
  87. checklist: z.array(
  88. z.object({
  89. checklistItemId: z.string().uuid(),
  90. name: z.string(),
  91. isDone: z.boolean(),
  92. }),
  93. ),
  94. },
  95. },
  96. usr: {
  97. companies: {
  98. companyId: z.string().uuid(),
  99. name: z.string(),
  100. ownerId: z.string().uuid(),
  101. timezone: z.string(),
  102. },
  103. confirmPins: {
  104. transactionId: z.string().uuid(),
  105. email: z.string().email(),
  106. confirmPin: z.number().min(1000).max(9999),
  107. createTime: z.string().datetime(),
  108. wrongPinTries: z.number(),
  109. },
  110. userRefreshTokens: {
  111. refreshToken: z.string(),
  112. userId: z.string().uuid(),
  113. },
  114. users: {
  115. userId: z.string().uuid(),
  116. email: z.string().email(),
  117. name: z.string(),
  118. password: z.string(),
  119. wrongPassTries: z.number(),
  120. },
  121. },
  122. };
  123. export { DbSchema };