package platform type Page[T any] struct { Items []T `json:"items"` Total int `json:"total"` Limit int `json:"limit"` Offset int `json:"offset"` } type DashboardSummary struct { OnlineVehicles int `json:"onlineVehicles"` ActiveToday int `json:"activeToday"` FrameToday int `json:"frameToday"` IssueVehicles int `json:"issueVehicles"` KafkaLag int `json:"kafkaLag"` Protocols []ProtocolStat `json:"protocols"` LinkHealth []LinkHealth `json:"linkHealth"` } type ProtocolStat struct { Protocol string `json:"protocol"` Online int `json:"online"` Total int `json:"total"` } type LinkHealth struct { Name string `json:"name"` Status string `json:"status"` Detail string `json:"detail,omitempty"` } type VehicleRow struct { VIN string `json:"vin"` Plate string `json:"plate"` Phone string `json:"phone"` OEM string `json:"oem"` Protocol string `json:"protocol"` Online bool `json:"online"` LastSeen string `json:"lastSeen"` LocationText string `json:"locationText"` BindingScore int `json:"bindingScore"` } type RealtimeLocationRow struct { VIN string `json:"vin"` Plate string `json:"plate"` Protocol string `json:"protocol"` Longitude float64 `json:"longitude"` Latitude float64 `json:"latitude"` SpeedKmh float64 `json:"speedKmh"` SOCPercent float64 `json:"socPercent"` TotalMileageKm float64 `json:"totalMileageKm"` LastSeen string `json:"lastSeen"` } type HistoryLocationRow struct { VIN string `json:"vin"` Plate string `json:"plate"` Protocol string `json:"protocol"` Longitude float64 `json:"longitude"` Latitude float64 `json:"latitude"` SpeedKmh float64 `json:"speedKmh"` TotalMileageKm float64 `json:"totalMileageKm"` DeviceTime string `json:"deviceTime"` ServerTime string `json:"serverTime"` } type RawFrameRow struct { ID string `json:"id"` VIN string `json:"vin"` Protocol string `json:"protocol"` FrameType string `json:"frameType"` DeviceTime string `json:"deviceTime"` ServerTime string `json:"serverTime"` RawSizeBytes int `json:"rawSizeBytes"` ParsedFields map[string]any `json:"parsedFields"` } type DailyMileageRow struct { VIN string `json:"vin"` Plate string `json:"plate"` Date string `json:"date"` StartMileageKm float64 `json:"startMileageKm"` EndMileageKm float64 `json:"endMileageKm"` DailyMileageKm float64 `json:"dailyMileageKm"` Source string `json:"source"` AnomalySeverity string `json:"anomalySeverity,omitempty"` } type QualityIssueRow struct { VIN string `json:"vin"` Plate string `json:"plate"` Protocol string `json:"protocol"` IssueType string `json:"issueType"` Severity string `json:"severity"` LastSeen string `json:"lastSeen"` Detail string `json:"detail"` } type OpsHealth struct { LinkHealth []LinkHealth `json:"linkHealth"` KafkaLag int `json:"kafkaLag"` RedisOnlineKeys int `json:"redisOnlineKeys"` TDengineWritable bool `json:"tdengineWritable"` MySQLWritable bool `json:"mysqlWritable"` }