package res import ( "time" "github.com/google/uuid" ) // Simplified response for list type NearestTowerResponse struct { ID uuid.UUID `json:"id"` TowerCode string `json:"tower_code"` Distance float64 `json:"distance_km"` Address string `json:"address"` Longitude float64 `json:"longitude"` Latitude float64 `json:"latitude"` ImageURL *string `json:"image_url,omitempty"` ExternalTower *bool `json:"external_tower,omitempty"` DeviceCode *string `json:"device_code,omitempty"` Province *string `json:"province,omitempty"` City *string `json:"city,omitempty"` District *string `json:"district,omitempty"` CreatedAt time.Time `json:"created_at"` } // Detailed response for single tower type NearestTowerDetailResponse struct { ID uuid.UUID `json:"id"` TowerCode string `json:"tower_code"` Distance float64 `json:"distance_km"` Address string `json:"address"` Longitude float64 `json:"longitude"` Latitude float64 `json:"latitude"` ImageURL *string `json:"image_url,omitempty"` ImageURLs []string `json:"image_urls,omitempty"` ExternalTower *bool `json:"external_tower,omitempty"` // Connected device information Device *DeviceConnectionInfo `json:"device,omitempty"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type DeviceConnectionInfo struct { ID uuid.UUID `json:"id"` DeviceCode string `json:"device_code"` DeviceType string `json:"device_type"` Distance float64 `json:"distance_from_towers_to_device_km"` // Distance from tower to device Address string `json:"address"` Longitude float64 `json:"longitude"` Latitude float64 `json:"latitude"` Status string `json:"status"` PortAmount int `json:"port_amount"` }