package req import "github.com/google/uuid" type DeviceInspectionDTO struct { DeviceID uuid.UUID `json:"device_id" validate:"required"` BackboneID *uuid.UUID `json:"backbone_id,omitempty"` FishboneID *uuid.UUID `json:"fishbone_id,omitempty"` TowerID *uuid.UUID `json:"tower_id,omitempty"` Status string `json:"status" validate:"required,oneof=pending in_progress completed maintenance"` PortUsed string `json:"port_used" validate:"required"` PortAvailable string `json:"port_available"` Description string `json:"description"` ImageURL *string `json:"image_url,omitempty"` InspectionPlacement struct { Longitude float64 `json:"longitude" validate:"required"` Latitude float64 `json:"latitude" validate:"required"` } `json:"inspection_placement" validate:"required"` } type UpdateDeviceInspectionDTO struct { BackboneID *uuid.UUID `json:"backbone_id,omitempty"` FishboneID *uuid.UUID `json:"fishbone_id,omitempty"` TowerID *uuid.UUID `json:"tower_id,omitempty"` Status *string `json:"status,omitempty" validate:"omitempty,oneof=pending in_progress completed maintenance"` PortUsed *string `json:"port_used,omitempty"` Description *string `json:"description,omitempty"` ImageURL *string `json:"image_url,omitempty"` InspectionPlacement *struct { Longitude float64 `json:"longitude"` Latitude float64 `json:"latitude"` } `json:"inspection_placement,omitempty"` } type ApproveInspectionDTO struct { InspectionApproval string `json:"inspection_approval" validate:"required,oneof=approved rejected"` Notes string `json:"notes,omitempty"` }