@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.
- package/Models/DatabaseModels/Alert.ts +8 -6
- package/Models/DatabaseModels/AlertInternalNote.ts +4 -6
- package/Models/DatabaseModels/AlertOwnerTeam.ts +1 -0
- package/Models/DatabaseModels/AlertOwnerUser.ts +1 -0
- package/Models/DatabaseModels/AlertSeverity.ts +1 -0
- package/Models/DatabaseModels/AlertStateTimeline.ts +4 -6
- package/Models/DatabaseModels/ApiKey.ts +3 -3
- package/Models/DatabaseModels/ApiKeyPermission.ts +5 -1
- package/Models/DatabaseModels/CallLog.ts +1 -0
- package/Models/DatabaseModels/CopilotCodeRepository.ts +3 -6
- package/Models/DatabaseModels/Dashboard.ts +1 -0
- package/Models/DatabaseModels/Domain.ts +2 -0
- package/Models/DatabaseModels/GlobalConfig.ts +1 -0
- package/Models/DatabaseModels/GreenlockCertificate.ts +1 -1
- package/Models/DatabaseModels/Incident.ts +18 -18
- package/Models/DatabaseModels/IncidentInternalNote.ts +4 -6
- package/Models/DatabaseModels/IncidentOwnerTeam.ts +4 -6
- package/Models/DatabaseModels/IncidentOwnerUser.ts +1 -0
- package/Models/DatabaseModels/IncidentPublicNote.ts +8 -6
- package/Models/DatabaseModels/IncidentSeverity.ts +1 -0
- package/Models/DatabaseModels/IncidentState.ts +1 -0
- package/Models/DatabaseModels/IncidentStateTimeline.ts +7 -12
- package/Models/DatabaseModels/IncidentTemplate.ts +2 -6
- package/Models/DatabaseModels/IncidentTemplateOwnerTeam.ts +4 -6
- package/Models/DatabaseModels/IncidentTemplateOwnerUser.ts +4 -6
- package/Models/DatabaseModels/Label.ts +1 -0
- package/Models/DatabaseModels/Monitor.ts +20 -28
- package/Models/DatabaseModels/MonitorGroup.ts +2 -6
- package/Models/DatabaseModels/MonitorGroupOwnerTeam.ts +4 -6
- package/Models/DatabaseModels/MonitorGroupOwnerUser.ts +4 -6
- package/Models/DatabaseModels/MonitorOwnerTeam.ts +1 -0
- package/Models/DatabaseModels/MonitorOwnerUser.ts +1 -0
- package/Models/DatabaseModels/MonitorProbe.ts +1 -0
- package/Models/DatabaseModels/MonitorStatus.ts +2 -0
- package/Models/DatabaseModels/MonitorStatusTimeline.ts +4 -6
- package/Models/DatabaseModels/MonitorTest.ts +1 -0
- package/Models/DatabaseModels/OnCallDutyPolicy.ts +3 -0
- package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +1 -0
- package/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.ts +4 -6
- package/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.ts +4 -6
- package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +1 -0
- package/Models/DatabaseModels/Probe.ts +2 -0
- package/Models/DatabaseModels/ProbeOwnerTeam.ts +4 -6
- package/Models/DatabaseModels/ProbeOwnerUser.ts +4 -6
- package/Models/DatabaseModels/Project.ts +16 -2
- package/Models/DatabaseModels/ProjectSmtpConfig.ts +6 -1
- package/Models/DatabaseModels/ProjectSso.ts +5 -1
- package/Models/DatabaseModels/PromoCode.ts +1 -1
- package/Models/DatabaseModels/ScheduledMaintenance.ts +13 -6
- package/Models/DatabaseModels/ScheduledMaintenanceInternalNote.ts +4 -6
- package/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.ts +4 -6
- package/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.ts +4 -6
- package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +8 -6
- package/Models/DatabaseModels/ScheduledMaintenanceState.ts +1 -0
- package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +7 -12
- package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +5 -6
- package/Models/DatabaseModels/ServiceCatalog.ts +1 -0
- package/Models/DatabaseModels/ServiceCopilotCodeRepository.ts +1 -0
- package/Models/DatabaseModels/SmsLog.ts +1 -0
- package/Models/DatabaseModels/StatusPage.ts +16 -12
- package/Models/DatabaseModels/StatusPageAnnouncement.ts +10 -7
- package/Models/DatabaseModels/StatusPageAnnouncementTemplate.ts +1 -0
- package/Models/DatabaseModels/StatusPageDomain.ts +1 -0
- package/Models/DatabaseModels/StatusPageGroup.ts +4 -0
- package/Models/DatabaseModels/StatusPageOwnerTeam.ts +4 -6
- package/Models/DatabaseModels/StatusPageOwnerUser.ts +1 -0
- package/Models/DatabaseModels/StatusPagePrivateUser.ts +1 -0
- package/Models/DatabaseModels/StatusPageResource.ts +3 -0
- package/Models/DatabaseModels/StatusPageSso.ts +10 -2
- package/Models/DatabaseModels/StatusPageSubscriber.ts +2 -0
- package/Models/DatabaseModels/Team.ts +2 -5
- package/Models/DatabaseModels/TeamMember.ts +1 -0
- package/Models/DatabaseModels/TeamPermission.ts +5 -1
- package/Models/DatabaseModels/TelemetryException.ts +3 -0
- package/Models/DatabaseModels/TelemetryIngestionKey.ts +2 -5
- package/Models/DatabaseModels/TelemetryService.ts +3 -6
- package/Models/DatabaseModels/User.ts +12 -3
- package/Models/DatabaseModels/UserCall.ts +1 -0
- package/Models/DatabaseModels/UserEmail.ts +2 -0
- package/Models/DatabaseModels/UserNotificationSetting.ts +10 -2
- package/Models/DatabaseModels/UserSMS.ts +2 -0
- package/Models/DatabaseModels/UserTwoFactorAuth.ts +1 -0
- package/Models/DatabaseModels/Workflow.ts +2 -0
- package/Models/DatabaseModels/WorkflowVariable.ts +1 -0
- package/Server/Services/MonitorService.ts +0 -36
- package/Server/Types/AnalyticsDatabase/ModelPermission.ts +1 -0
- package/Server/Types/Database/Permissions/ColumnPermission.ts +21 -14
- package/Types/Database/TableColumn.ts +3 -0
- package/Utils/Schema/AnalyticsModelSchema.ts +69 -41
- package/Utils/Schema/ModelSchema.ts +191 -81
- package/build/dist/Models/DatabaseModels/Alert.js +7 -6
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertInternalNote.js +4 -6
- package/build/dist/Models/DatabaseModels/AlertInternalNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js +1 -0
- package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertOwnerUser.js +1 -0
- package/build/dist/Models/DatabaseModels/AlertOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertSeverity.js +1 -0
- package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +4 -6
- package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ApiKey.js +3 -5
- package/build/dist/Models/DatabaseModels/ApiKey.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ApiKeyPermission.js +5 -1
- package/build/dist/Models/DatabaseModels/ApiKeyPermission.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CallLog.js +1 -0
- package/build/dist/Models/DatabaseModels/CallLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CopilotCodeRepository.js +3 -6
- package/build/dist/Models/DatabaseModels/CopilotCodeRepository.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Dashboard.js +1 -0
- package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Domain.js +2 -0
- package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalConfig.js +1 -0
- package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GreenlockCertificate.js +1 -1
- package/build/dist/Models/DatabaseModels/GreenlockCertificate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +16 -18
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentInternalNote.js +4 -6
- package/build/dist/Models/DatabaseModels/IncidentInternalNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js +4 -6
- package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +8 -6
- package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentState.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentState.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +7 -12
- package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js +2 -6
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js +4 -6
- package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js +4 -6
- package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Label.js +1 -0
- package/build/dist/Models/DatabaseModels/Label.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Monitor.js +17 -25
- package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorGroup.js +2 -6
- package/build/dist/Models/DatabaseModels/MonitorGroup.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js +4 -6
- package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js +4 -6
- package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js +1 -0
- package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js +1 -0
- package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorProbe.js +1 -0
- package/build/dist/Models/DatabaseModels/MonitorProbe.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorStatus.js +2 -0
- package/build/dist/Models/DatabaseModels/MonitorStatus.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +4 -6
- package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorTest.js +1 -0
- package/build/dist/Models/DatabaseModels/MonitorTest.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js +3 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +1 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.js +4 -6
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.js +4 -6
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +1 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Probe.js +2 -0
- package/build/dist/Models/DatabaseModels/Probe.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js +4 -6
- package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js +4 -6
- package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +16 -2
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js +6 -1
- package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectSso.js +5 -1
- package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -1
- package/build/dist/Models/DatabaseModels/PromoCode.js +1 -1
- package/build/dist/Models/DatabaseModels/PromoCode.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +13 -6
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js +4 -6
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js +4 -6
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js +4 -6
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +8 -6
- package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +7 -12
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +5 -6
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalog.js +1 -0
- package/build/dist/Models/DatabaseModels/ServiceCatalog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceCopilotCodeRepository.js +1 -0
- package/build/dist/Models/DatabaseModels/ServiceCopilotCodeRepository.js.map +1 -1
- package/build/dist/Models/DatabaseModels/SmsLog.js +1 -0
- package/build/dist/Models/DatabaseModels/SmsLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPage.js +16 -12
- package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +10 -7
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js +1 -0
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageDomain.js +1 -0
- package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageGroup.js +4 -0
- package/build/dist/Models/DatabaseModels/StatusPageGroup.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js +4 -6
- package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js +1 -0
- package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +1 -0
- package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageResource.js +3 -0
- package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSso.js +10 -2
- package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +2 -0
- package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Team.js +2 -5
- package/build/dist/Models/DatabaseModels/Team.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamMember.js +1 -0
- package/build/dist/Models/DatabaseModels/TeamMember.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamPermission.js +5 -1
- package/build/dist/Models/DatabaseModels/TeamPermission.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryException.js +3 -0
- package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +2 -5
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryService.js +3 -6
- package/build/dist/Models/DatabaseModels/TelemetryService.js.map +1 -1
- package/build/dist/Models/DatabaseModels/User.js +12 -3
- package/build/dist/Models/DatabaseModels/User.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserCall.js +1 -0
- package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserEmail.js +2 -0
- package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserNotificationSetting.js +10 -2
- package/build/dist/Models/DatabaseModels/UserNotificationSetting.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserSMS.js +2 -0
- package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserTwoFactorAuth.js +1 -0
- package/build/dist/Models/DatabaseModels/UserTwoFactorAuth.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Workflow.js +2 -0
- package/build/dist/Models/DatabaseModels/Workflow.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkflowVariable.js +1 -0
- package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +0 -31
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/ColumnPermission.js +4 -0
- package/build/dist/Server/Types/Database/Permissions/ColumnPermission.js.map +1 -1
- package/build/dist/Types/Database/TableColumn.js.map +1 -1
- package/build/dist/Utils/Schema/AnalyticsModelSchema.js +59 -41
- package/build/dist/Utils/Schema/AnalyticsModelSchema.js.map +1 -1
- package/build/dist/Utils/Schema/ModelSchema.js +184 -81
- package/build/dist/Utils/Schema/ModelSchema.js.map +1 -1
- 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
|
-
|
|
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;
|