package dao import ( "time" "wails-app/internal/global" ) // DeviceDiscovery 保存一次手工 IP 身份读取结果和管理员确认状态。 // payload 只保存设备公开身份,不保存配对码、MQTT 密码或其他敏感令牌。 type DeviceDiscovery struct { global.GVA_MODEL RequestID string `gorm:"size:64;index:idx_device_discovery_request_id;not null" json:"request_id"` DeviceID string `gorm:"size:100;index;not null" json:"device_id"` DeviceCode string `gorm:"size:50" json:"device_code"` DeviceType string `gorm:"size:50" json:"device_type"` DeviceModel string `gorm:"size:100" json:"device_model"` FirmwareVersion string `gorm:"size:100" json:"firmware_version"` SourceIP string `gorm:"size:50;not null" json:"source_ip"` ConfigPort int `gorm:"not null" json:"config_port"` Payload string `gorm:"type:text" json:"payload"` CertificateFingerprint string `gorm:"size:128" json:"certificate_fingerprint"` PublicKeyFingerprint string `gorm:"size:128" json:"public_key_fingerprint"` Signature string `gorm:"type:text" json:"signature"` SignatureVerified bool `gorm:"not null;default:false" json:"signature_verified"` ProvisionMethod string `gorm:"size:20;index;default:'manual_ip'" json:"provision_method"` PairingRequired bool `gorm:"not null;default:false" json:"pairing_required"` Verified bool `gorm:"not null;default:false" json:"verified"` VerifiedAt *time.Time `json:"verified_at"` ExpiredAt time.Time `gorm:"index;not null" json:"expired_at"` ProvisionStatus string `gorm:"size:20;index;default:'identity_unverified'" json:"provision_status"` } func (DeviceDiscovery) TableName() string { return "device_discovery" }