// This file is a part of Taskflow. // Copyright (C) 2025 Robby Zambito // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . package api import "time" type statusData struct { overallStatus overallStatus services []service metrics metrics incidents []incident maintenanceEvents []maintenanceEvent uptimeEvents []uptimeEvent } type overallStatus struct { Status string `json:"status"` Description string `json:"description"` Uptime float64 `json:"uptime"` ResponseTime int `json:"responseTime"` ActiveIncidents int `json:"activeIncidents"` ScheduledMaintenance int `json:"scheduledMaintenance"` } type service struct { Id string `json:"id"` Name string `json:"name"` Description string `json:"description"` Icon string `json:"icon"` Status string `json:"status"` ResponseTime int `json:"responseTime"` Uptime float64 `json:"uptime"` } type metrics struct { Uptime float64 `json:"uptime"` ResponseTime int `json:"responseTime"` RequestVolume int `json:"requestVolume"` ErrorRate float64 `json:"errorRate"` } type incident struct { Id string `json:"id"` Title string `json:"title"` Description string `json:"description"` Status string `json:"status"` Severity string `json:"severity"` StartTime time.Time `json:"startTime"` AffectedServices []string `json:"affectedServices"` } type maintenanceEvent struct { Id string `json:"id"` Title string `json:"title"` Description string `json:"description"` StartTime time.Time `json:"startTime"` EndTime time.Time `json:"endTime"` AffectedServices []string `json:"affectedServices"` } type uptimeEvent struct { Date time.Time `json:"date"` Uptime float64 `json:"uptime"` }