38 lines
1.8 KiB
Go
38 lines
1.8 KiB
Go
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"`
|
|
} |