@oneuptime/common 7.0.4543 → 7.0.4578

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/Models/DatabaseModels/Alert.ts +8 -6
  2. package/Models/DatabaseModels/AlertInternalNote.ts +4 -6
  3. package/Models/DatabaseModels/AlertOwnerTeam.ts +1 -0
  4. package/Models/DatabaseModels/AlertOwnerUser.ts +1 -0
  5. package/Models/DatabaseModels/AlertSeverity.ts +1 -0
  6. package/Models/DatabaseModels/AlertStateTimeline.ts +4 -6
  7. package/Models/DatabaseModels/ApiKey.ts +3 -3
  8. package/Models/DatabaseModels/ApiKeyPermission.ts +5 -1
  9. package/Models/DatabaseModels/CallLog.ts +1 -0
  10. package/Models/DatabaseModels/CopilotCodeRepository.ts +3 -6
  11. package/Models/DatabaseModels/Dashboard.ts +1 -0
  12. package/Models/DatabaseModels/Domain.ts +2 -0
  13. package/Models/DatabaseModels/GlobalConfig.ts +1 -0
  14. package/Models/DatabaseModels/GreenlockCertificate.ts +1 -1
  15. package/Models/DatabaseModels/Incident.ts +18 -18
  16. package/Models/DatabaseModels/IncidentInternalNote.ts +4 -6
  17. package/Models/DatabaseModels/IncidentOwnerTeam.ts +4 -6
  18. package/Models/DatabaseModels/IncidentOwnerUser.ts +1 -0
  19. package/Models/DatabaseModels/IncidentPublicNote.ts +8 -6
  20. package/Models/DatabaseModels/IncidentSeverity.ts +1 -0
  21. package/Models/DatabaseModels/IncidentState.ts +1 -0
  22. package/Models/DatabaseModels/IncidentStateTimeline.ts +7 -12
  23. package/Models/DatabaseModels/IncidentTemplate.ts +2 -6
  24. package/Models/DatabaseModels/IncidentTemplateOwnerTeam.ts +4 -6
  25. package/Models/DatabaseModels/IncidentTemplateOwnerUser.ts +4 -6
  26. package/Models/DatabaseModels/Label.ts +1 -0
  27. package/Models/DatabaseModels/Monitor.ts +20 -28
  28. package/Models/DatabaseModels/MonitorGroup.ts +2 -6
  29. package/Models/DatabaseModels/MonitorGroupOwnerTeam.ts +4 -6
  30. package/Models/DatabaseModels/MonitorGroupOwnerUser.ts +4 -6
  31. package/Models/DatabaseModels/MonitorOwnerTeam.ts +1 -0
  32. package/Models/DatabaseModels/MonitorOwnerUser.ts +1 -0
  33. package/Models/DatabaseModels/MonitorProbe.ts +1 -0
  34. package/Models/DatabaseModels/MonitorStatus.ts +2 -0
  35. package/Models/DatabaseModels/MonitorStatusTimeline.ts +4 -6
  36. package/Models/DatabaseModels/MonitorTest.ts +1 -0
  37. package/Models/DatabaseModels/OnCallDutyPolicy.ts +3 -0
  38. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +1 -0
  39. package/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.ts +4 -6
  40. package/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.ts +4 -6
  41. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +1 -0
  42. package/Models/DatabaseModels/Probe.ts +2 -0
  43. package/Models/DatabaseModels/ProbeOwnerTeam.ts +4 -6
  44. package/Models/DatabaseModels/ProbeOwnerUser.ts +4 -6
  45. package/Models/DatabaseModels/Project.ts +16 -2
  46. package/Models/DatabaseModels/ProjectSmtpConfig.ts +6 -1
  47. package/Models/DatabaseModels/ProjectSso.ts +5 -1
  48. package/Models/DatabaseModels/PromoCode.ts +1 -1
  49. package/Models/DatabaseModels/ScheduledMaintenance.ts +13 -6
  50. package/Models/DatabaseModels/ScheduledMaintenanceInternalNote.ts +4 -6
  51. package/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.ts +4 -6
  52. package/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.ts +4 -6
  53. package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +8 -6
  54. package/Models/DatabaseModels/ScheduledMaintenanceState.ts +1 -0
  55. package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +7 -12
  56. package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +5 -6
  57. package/Models/DatabaseModels/ServiceCatalog.ts +1 -0
  58. package/Models/DatabaseModels/ServiceCopilotCodeRepository.ts +1 -0
  59. package/Models/DatabaseModels/SmsLog.ts +1 -0
  60. package/Models/DatabaseModels/StatusPage.ts +16 -12
  61. package/Models/DatabaseModels/StatusPageAnnouncement.ts +10 -7
  62. package/Models/DatabaseModels/StatusPageAnnouncementTemplate.ts +1 -0
  63. package/Models/DatabaseModels/StatusPageDomain.ts +1 -0
  64. package/Models/DatabaseModels/StatusPageGroup.ts +4 -0
  65. package/Models/DatabaseModels/StatusPageOwnerTeam.ts +4 -6
  66. package/Models/DatabaseModels/StatusPageOwnerUser.ts +1 -0
  67. package/Models/DatabaseModels/StatusPagePrivateUser.ts +1 -0
  68. package/Models/DatabaseModels/StatusPageResource.ts +3 -0
  69. package/Models/DatabaseModels/StatusPageSso.ts +10 -2
  70. package/Models/DatabaseModels/StatusPageSubscriber.ts +2 -0
  71. package/Models/DatabaseModels/Team.ts +2 -5
  72. package/Models/DatabaseModels/TeamMember.ts +1 -0
  73. package/Models/DatabaseModels/TeamPermission.ts +5 -1
  74. package/Models/DatabaseModels/TelemetryException.ts +3 -0
  75. package/Models/DatabaseModels/TelemetryIngestionKey.ts +2 -5
  76. package/Models/DatabaseModels/TelemetryService.ts +3 -6
  77. package/Models/DatabaseModels/User.ts +12 -3
  78. package/Models/DatabaseModels/UserCall.ts +1 -0
  79. package/Models/DatabaseModels/UserEmail.ts +2 -0
  80. package/Models/DatabaseModels/UserNotificationSetting.ts +10 -2
  81. package/Models/DatabaseModels/UserSMS.ts +2 -0
  82. package/Models/DatabaseModels/UserTwoFactorAuth.ts +1 -0
  83. package/Models/DatabaseModels/Workflow.ts +2 -0
  84. package/Models/DatabaseModels/WorkflowVariable.ts +1 -0
  85. package/Server/Services/MonitorService.ts +0 -36
  86. package/Server/Types/AnalyticsDatabase/ModelPermission.ts +1 -0
  87. package/Server/Types/Database/Permissions/ColumnPermission.ts +21 -14
  88. package/Types/Database/TableColumn.ts +3 -0
  89. package/Utils/Schema/AnalyticsModelSchema.ts +69 -41
  90. package/Utils/Schema/ModelSchema.ts +191 -81
  91. package/build/dist/Models/DatabaseModels/Alert.js +7 -6
  92. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  93. package/build/dist/Models/DatabaseModels/AlertInternalNote.js +4 -6
  94. package/build/dist/Models/DatabaseModels/AlertInternalNote.js.map +1 -1
  95. package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js +1 -0
  96. package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js.map +1 -1
  97. package/build/dist/Models/DatabaseModels/AlertOwnerUser.js +1 -0
  98. package/build/dist/Models/DatabaseModels/AlertOwnerUser.js.map +1 -1
  99. package/build/dist/Models/DatabaseModels/AlertSeverity.js +1 -0
  100. package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
  101. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +4 -6
  102. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -1
  103. package/build/dist/Models/DatabaseModels/ApiKey.js +3 -5
  104. package/build/dist/Models/DatabaseModels/ApiKey.js.map +1 -1
  105. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js +5 -1
  106. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js.map +1 -1
  107. package/build/dist/Models/DatabaseModels/CallLog.js +1 -0
  108. package/build/dist/Models/DatabaseModels/CallLog.js.map +1 -1
  109. package/build/dist/Models/DatabaseModels/CopilotCodeRepository.js +3 -6
  110. package/build/dist/Models/DatabaseModels/CopilotCodeRepository.js.map +1 -1
  111. package/build/dist/Models/DatabaseModels/Dashboard.js +1 -0
  112. package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
  113. package/build/dist/Models/DatabaseModels/Domain.js +2 -0
  114. package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
  115. package/build/dist/Models/DatabaseModels/GlobalConfig.js +1 -0
  116. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  117. package/build/dist/Models/DatabaseModels/GreenlockCertificate.js +1 -1
  118. package/build/dist/Models/DatabaseModels/GreenlockCertificate.js.map +1 -1
  119. package/build/dist/Models/DatabaseModels/Incident.js +16 -18
  120. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  121. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js +4 -6
  122. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js.map +1 -1
  123. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js +4 -6
  124. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js.map +1 -1
  125. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js +1 -0
  126. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js.map +1 -1
  127. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +8 -6
  128. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
  129. package/build/dist/Models/DatabaseModels/IncidentSeverity.js +1 -0
  130. package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
  131. package/build/dist/Models/DatabaseModels/IncidentState.js +1 -0
  132. package/build/dist/Models/DatabaseModels/IncidentState.js.map +1 -1
  133. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +7 -12
  134. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
  135. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +2 -6
  136. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  137. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js +4 -6
  138. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js.map +1 -1
  139. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js +4 -6
  140. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js.map +1 -1
  141. package/build/dist/Models/DatabaseModels/Label.js +1 -0
  142. package/build/dist/Models/DatabaseModels/Label.js.map +1 -1
  143. package/build/dist/Models/DatabaseModels/Monitor.js +17 -25
  144. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  145. package/build/dist/Models/DatabaseModels/MonitorGroup.js +2 -6
  146. package/build/dist/Models/DatabaseModels/MonitorGroup.js.map +1 -1
  147. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js +4 -6
  148. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js.map +1 -1
  149. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js +4 -6
  150. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js.map +1 -1
  151. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js +1 -0
  152. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js.map +1 -1
  153. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js +1 -0
  154. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js.map +1 -1
  155. package/build/dist/Models/DatabaseModels/MonitorProbe.js +1 -0
  156. package/build/dist/Models/DatabaseModels/MonitorProbe.js.map +1 -1
  157. package/build/dist/Models/DatabaseModels/MonitorStatus.js +2 -0
  158. package/build/dist/Models/DatabaseModels/MonitorStatus.js.map +1 -1
  159. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +4 -6
  160. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
  161. package/build/dist/Models/DatabaseModels/MonitorTest.js +1 -0
  162. package/build/dist/Models/DatabaseModels/MonitorTest.js.map +1 -1
  163. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js +3 -0
  164. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js.map +1 -1
  165. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +1 -0
  166. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
  167. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.js +4 -6
  168. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.js.map +1 -1
  169. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.js +4 -6
  170. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.js.map +1 -1
  171. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +1 -0
  172. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
  173. package/build/dist/Models/DatabaseModels/Probe.js +2 -0
  174. package/build/dist/Models/DatabaseModels/Probe.js.map +1 -1
  175. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js +4 -6
  176. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js.map +1 -1
  177. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js +4 -6
  178. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js.map +1 -1
  179. package/build/dist/Models/DatabaseModels/Project.js +16 -2
  180. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  181. package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js +6 -1
  182. package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js.map +1 -1
  183. package/build/dist/Models/DatabaseModels/ProjectSso.js +5 -1
  184. package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -1
  185. package/build/dist/Models/DatabaseModels/PromoCode.js +1 -1
  186. package/build/dist/Models/DatabaseModels/PromoCode.js.map +1 -1
  187. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +13 -6
  188. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  189. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js +4 -6
  190. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js.map +1 -1
  191. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js +4 -6
  192. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js.map +1 -1
  193. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js +4 -6
  194. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js.map +1 -1
  195. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +8 -6
  196. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
  197. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js +1 -0
  198. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js.map +1 -1
  199. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +7 -12
  200. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
  201. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +5 -6
  202. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
  203. package/build/dist/Models/DatabaseModels/ServiceCatalog.js +1 -0
  204. package/build/dist/Models/DatabaseModels/ServiceCatalog.js.map +1 -1
  205. package/build/dist/Models/DatabaseModels/ServiceCopilotCodeRepository.js +1 -0
  206. package/build/dist/Models/DatabaseModels/ServiceCopilotCodeRepository.js.map +1 -1
  207. package/build/dist/Models/DatabaseModels/SmsLog.js +1 -0
  208. package/build/dist/Models/DatabaseModels/SmsLog.js.map +1 -1
  209. package/build/dist/Models/DatabaseModels/StatusPage.js +16 -12
  210. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  211. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +10 -7
  212. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
  213. package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js +1 -0
  214. package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js.map +1 -1
  215. package/build/dist/Models/DatabaseModels/StatusPageDomain.js +1 -0
  216. package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -1
  217. package/build/dist/Models/DatabaseModels/StatusPageGroup.js +4 -0
  218. package/build/dist/Models/DatabaseModels/StatusPageGroup.js.map +1 -1
  219. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js +4 -6
  220. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js.map +1 -1
  221. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js +1 -0
  222. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js.map +1 -1
  223. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +1 -0
  224. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
  225. package/build/dist/Models/DatabaseModels/StatusPageResource.js +3 -0
  226. package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -1
  227. package/build/dist/Models/DatabaseModels/StatusPageSso.js +10 -2
  228. package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -1
  229. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +2 -0
  230. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
  231. package/build/dist/Models/DatabaseModels/Team.js +2 -5
  232. package/build/dist/Models/DatabaseModels/Team.js.map +1 -1
  233. package/build/dist/Models/DatabaseModels/TeamMember.js +1 -0
  234. package/build/dist/Models/DatabaseModels/TeamMember.js.map +1 -1
  235. package/build/dist/Models/DatabaseModels/TeamPermission.js +5 -1
  236. package/build/dist/Models/DatabaseModels/TeamPermission.js.map +1 -1
  237. package/build/dist/Models/DatabaseModels/TelemetryException.js +3 -0
  238. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  239. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +2 -5
  240. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -1
  241. package/build/dist/Models/DatabaseModels/TelemetryService.js +3 -6
  242. package/build/dist/Models/DatabaseModels/TelemetryService.js.map +1 -1
  243. package/build/dist/Models/DatabaseModels/User.js +12 -3
  244. package/build/dist/Models/DatabaseModels/User.js.map +1 -1
  245. package/build/dist/Models/DatabaseModels/UserCall.js +1 -0
  246. package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -1
  247. package/build/dist/Models/DatabaseModels/UserEmail.js +2 -0
  248. package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -1
  249. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js +10 -2
  250. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js.map +1 -1
  251. package/build/dist/Models/DatabaseModels/UserSMS.js +2 -0
  252. package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -1
  253. package/build/dist/Models/DatabaseModels/UserTwoFactorAuth.js +1 -0
  254. package/build/dist/Models/DatabaseModels/UserTwoFactorAuth.js.map +1 -1
  255. package/build/dist/Models/DatabaseModels/Workflow.js +2 -0
  256. package/build/dist/Models/DatabaseModels/Workflow.js.map +1 -1
  257. package/build/dist/Models/DatabaseModels/WorkflowVariable.js +1 -0
  258. package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -1
  259. package/build/dist/Server/Services/MonitorService.js +0 -31
  260. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  261. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
  262. package/build/dist/Server/Types/Database/Permissions/ColumnPermission.js +4 -0
  263. package/build/dist/Server/Types/Database/Permissions/ColumnPermission.js.map +1 -1
  264. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  265. package/build/dist/Utils/Schema/AnalyticsModelSchema.js +59 -41
  266. package/build/dist/Utils/Schema/AnalyticsModelSchema.js.map +1 -1
  267. package/build/dist/Utils/Schema/ModelSchema.js +184 -81
  268. package/build/dist/Utils/Schema/ModelSchema.js.map +1 -1
  269. package/package.json +1 -1
@@ -12,6 +12,17 @@ import OneUptimeDate from "../../Types/Date";
12
12
  export type AnalyticsModelSchemaType = ZodSchema;
13
13
 
14
14
  export class AnalyticsModelSchema extends BaseSchema {
15
+ // Helper function to add default value to openapi schema if it exists
16
+ private static addDefaultToOpenApi(
17
+ openApiConfig: any,
18
+ column: AnalyticsTableColumn,
19
+ ) {
20
+ if (column.defaultValue !== undefined && column.defaultValue !== null) {
21
+ return { ...openApiConfig, default: column.defaultValue };
22
+ }
23
+ return openApiConfig;
24
+ }
25
+
15
26
  public static getModelSchema(data: {
16
27
  modelType: new () => AnalyticsBaseModel;
17
28
  }): AnalyticsModelSchemaType {
@@ -39,76 +50,79 @@ export class AnalyticsModelSchema extends BaseSchema {
39
50
  let zodType: ZodTypes.ZodTypeAny;
40
51
 
41
52
  if (column.type === TableColumnType.ObjectID) {
42
- zodType = z.string().openapi({
53
+ zodType = z.string().openapi(this.addDefaultToOpenApi({
43
54
  type: "string",
44
55
  example: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
45
- });
56
+ }, column));
46
57
  } else if (column.type === TableColumnType.Date) {
47
- zodType = z.date().openapi({
58
+ zodType = z.date().openapi(this.addDefaultToOpenApi({
48
59
  type: "string",
49
60
  format: "date-time",
50
61
  example: "2023-01-15T12:30:00.000Z",
51
- });
62
+ }, column));
52
63
  } else if (column.type === TableColumnType.Text) {
53
- zodType = z.string().openapi({
64
+ zodType = z.string().openapi(this.addDefaultToOpenApi({
54
65
  type: "string",
55
66
  example: "Example text value",
56
- });
67
+ }, column));
57
68
  } else if (column.type === TableColumnType.Number) {
58
- zodType = z.number().openapi({ type: "number", example: 42 });
69
+ zodType = z.number().openapi(this.addDefaultToOpenApi({ type: "number", example: 42 }, column));
59
70
  } else if (column.type === TableColumnType.LongNumber) {
60
- zodType = z.number().openapi({
71
+ zodType = z.number().openapi(this.addDefaultToOpenApi({
61
72
  type: "number",
62
73
  example: 1000000,
63
- });
74
+ }, column));
64
75
  } else if (column.type === TableColumnType.Boolean) {
65
- zodType = z.boolean().openapi({ type: "boolean", example: true });
76
+ zodType = z.boolean().openapi(this.addDefaultToOpenApi({ type: "boolean", example: true }, column));
66
77
  } else if (column.type === TableColumnType.JSON) {
67
- zodType = z.any().openapi({
78
+ zodType = z.any().openapi(this.addDefaultToOpenApi({
68
79
  type: "object",
69
80
  example: { key: "value", nested: { data: 123 } },
70
- });
81
+ }, column));
71
82
  } else if (column.type === TableColumnType.JSONArray) {
72
- zodType = z.array(z.any()).openapi({
83
+ zodType = z.array(z.any()).openapi(this.addDefaultToOpenApi({
73
84
  type: "array",
74
85
  items: {
75
86
  type: "object",
76
87
  },
77
88
  example: [{ key: "value" }, { key2: "value2" }],
78
- });
89
+ }, column));
79
90
  } else if (column.type === TableColumnType.Decimal) {
80
- zodType = z.number().openapi({
91
+ zodType = z.number().openapi(this.addDefaultToOpenApi({
81
92
  type: "number",
82
93
  example: 123.45,
83
- });
94
+ }, column));
84
95
  } else if (column.type === TableColumnType.ArrayNumber) {
85
- zodType = z.array(z.number()).openapi({
96
+ zodType = z.array(z.number()).openapi(this.addDefaultToOpenApi({
86
97
  type: "array",
87
98
  items: {
88
99
  type: "number",
89
100
  },
90
101
  example: [1, 2, 3, 4, 5],
91
- });
102
+ }, column));
92
103
  } else if (column.type === TableColumnType.ArrayText) {
93
- zodType = z.array(z.string()).openapi({
104
+ zodType = z.array(z.string()).openapi(this.addDefaultToOpenApi({
94
105
  type: "array",
95
106
  items: {
96
107
  type: "string",
97
108
  },
98
109
  example: ["item1", "item2", "item3"],
99
- });
110
+ }, column));
100
111
  } else if (column.type === TableColumnType.IP) {
101
112
  zodType = IP.getSchema();
102
113
  } else if (column.type === TableColumnType.Port) {
103
114
  zodType = Port.getSchema();
104
115
  } else {
105
116
  // Default fallback
106
- zodType = z.any().openapi({
117
+ zodType = z.any().openapi(this.addDefaultToOpenApi({
107
118
  type: "string",
108
119
  example: "example_value",
109
- });
120
+ }, column));
110
121
  }
111
122
 
123
+ // Apply default value if it exists
124
+ zodType = this.applyDefaultValue(zodType, column);
125
+
112
126
  if (column.required) {
113
127
  // leave as is
114
128
  } else {
@@ -137,59 +151,70 @@ export class AnalyticsModelSchema extends BaseSchema {
137
151
  case TableColumnType.Date:
138
152
  return OneUptimeDate.getSchema();
139
153
  case TableColumnType.Text:
140
- return z.string().openapi({
154
+ return z.string().openapi(this.addDefaultToOpenApi({
141
155
  type: "string",
142
156
  example: "Example text",
143
- });
157
+ }, column));
144
158
  case TableColumnType.Number:
145
- return z.number().openapi({ type: "number", example: 42 });
159
+ return z.number().openapi(this.addDefaultToOpenApi({ type: "number", example: 42 }, column));
146
160
  case TableColumnType.LongNumber:
147
- return z.number().openapi({
161
+ return z.number().openapi(this.addDefaultToOpenApi({
148
162
  type: "number",
149
163
  example: 1000000,
150
- });
164
+ }, column));
151
165
  case TableColumnType.Boolean:
152
- return z.boolean().openapi({ type: "boolean", example: true });
166
+ return z.boolean().openapi(this.addDefaultToOpenApi({ type: "boolean", example: true }, column));
153
167
  case TableColumnType.JSON:
154
- return z.any().openapi({
168
+ return z.any().openapi(this.addDefaultToOpenApi({
155
169
  type: "object",
156
170
  example: { key: "value" },
157
- });
171
+ }, column));
158
172
  case TableColumnType.JSONArray:
159
- return z.array(z.any()).openapi({
173
+ return z.array(z.any()).openapi(this.addDefaultToOpenApi({
160
174
  type: "array",
161
175
  items: { type: "object" },
162
176
  example: [{ key: "value" }],
163
- });
177
+ }, column));
164
178
  case TableColumnType.Decimal:
165
- return z.number().openapi({
179
+ return z.number().openapi(this.addDefaultToOpenApi({
166
180
  type: "number",
167
181
  example: 123.45,
168
- });
182
+ }, column));
169
183
  case TableColumnType.ArrayNumber:
170
- return z.array(z.number()).openapi({
184
+ return z.array(z.number()).openapi(this.addDefaultToOpenApi({
171
185
  type: "array",
172
186
  items: { type: "number" },
173
187
  example: [1, 2, 3],
174
- });
188
+ }, column));
175
189
  case TableColumnType.ArrayText:
176
- return z.array(z.string()).openapi({
190
+ return z.array(z.string()).openapi(this.addDefaultToOpenApi({
177
191
  type: "array",
178
192
  items: { type: "string" },
179
193
  example: ["item1", "item2"],
180
- });
194
+ }, column));
181
195
  case TableColumnType.IP:
182
196
  return IP.getSchema();
183
197
  case TableColumnType.Port:
184
198
  return Port.getSchema();
185
199
  default:
186
- return z.any().openapi({
200
+ return z.any().openapi(this.addDefaultToOpenApi({
187
201
  type: "string",
188
202
  example: "example_value",
189
- });
203
+ }, column));
190
204
  }
191
205
  }
192
206
 
207
+ private static applyDefaultValue(
208
+ zodType: ZodTypes.ZodTypeAny,
209
+ column: AnalyticsTableColumn,
210
+ ): ZodTypes.ZodTypeAny {
211
+ // Apply default value if it exists in the column metadata
212
+ if (column.defaultValue !== undefined && column.defaultValue !== null) {
213
+ zodType = zodType.default(column.defaultValue);
214
+ }
215
+ return zodType;
216
+ }
217
+
193
218
  public static getCreateModelSchema(data: {
194
219
  modelType: new () => AnalyticsBaseModel;
195
220
  }): AnalyticsModelSchemaType {
@@ -224,7 +249,10 @@ export class AnalyticsModelSchema extends BaseSchema {
224
249
  continue;
225
250
  }
226
251
 
227
- const zodType: ZodTypes.ZodTypeAny = this.getZodTypeForColumn(column);
252
+ let zodType: ZodTypes.ZodTypeAny = this.getZodTypeForColumn(column);
253
+
254
+ // Apply default value if it exists
255
+ zodType = this.applyDefaultValue(zodType, column);
228
256
 
229
257
  if (column.required) {
230
258
  shape[key] = zodType;