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