package entity import ( "time" "github.com/google/uuid" ) type DeviceInspection struct { ID uuid.UUID `json:"id" gorm:"type:uuid;primaryKey"` DeviceID uuid.UUID `json:"device_id" gorm:"type:uuid;column:device_id"` BackboneID *uuid.UUID `json:"backbone_id,omitempty" gorm:"type:uuid;column:backbone_id"` FishboneID *uuid.UUID `json:"fishbone_id,omitempty" gorm:"type:uuid;column:fishbone_id"` TowerID *uuid.UUID `json:"tower_id,omitempty" gorm:"type:uuid;column:tower_id"` UserID uuid.UUID `json:"user_id" gorm:"type:uuid;column:user_id"` Status string `json:"status" gorm:"type:varchar(50);column:status"` PortUsed string `json:"port_used" gorm:"type:varchar(50);column:port_used"` PortAvailable string `json:"port_available" gorm:"type:varchar(50);column:port_available"` CableAmount int `json:"cable_amount" gorm:"type:int;column:cable_amount"` Description string `json:"description" gorm:"type:text;column:description"` ImageURL *string `json:"image_url,omitempty" gorm:"type:text;column:image_url"` InspectionPlacement string `json:"inspection_placement" gorm:"type:text;column:inspection_placement"` // Store the full address from OpenStreetMap Longitude float64 `json:"longitude" gorm:"type:float;column:longitude"` Latitude float64 `json:"latitude" gorm:"type:float;column:latitude"` InspectionApproval string `json:"inspection_approval" gorm:"type:varchar(50);column:inspection_approval"` CreatedAt time.Time `json:"created_at" gorm:"type:timestamp;column:created_at"` UpdatedAt time.Time `json:"updated_at" gorm:"type:timestamp;column:updated_at"` // Relationships Device Device `json:"device" gorm:"foreignKey:DeviceID"` Backbone *Backbone `json:"backbone,omitempty" gorm:"foreignKey:BackboneID"` Fishbone *Fishbone `json:"fishbone,omitempty" gorm:"foreignKey:FishboneID"` User User `json:"user" gorm:"foreignKey:UserID"` Tower *Tower `json:"tower,omitempty" gorm:"foreignKey:TowerID"` } func (DeviceInspection) TableName() string { return "device_inspection" }