mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 05:56:38 +08:00
30 lines
1.0 KiB
Go
30 lines
1.0 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
type Node struct {
|
|
ID uint `json:"id" gorm:"primaryKey"`
|
|
NodeID string `json:"node_id" gorm:"uniqueIndex;size:64;not null"`
|
|
Name string `json:"name" gorm:"size:128;not null"`
|
|
IP string `json:"ip" gorm:"size:64;not null"`
|
|
AgentVersion string `json:"agent_version" gorm:"size:64;not null"`
|
|
NginxVersion string `json:"nginx_version" gorm:"size:64"`
|
|
Status string `json:"status" gorm:"size:16;not null;default:'offline'"`
|
|
CurrentVersion string `json:"current_version" gorm:"size:32"`
|
|
LastSeenAt time.Time `json:"last_seen_at"`
|
|
LastError string `json:"last_error" gorm:"size:1024"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
func ListNodes() (nodes []*Node, err error) {
|
|
err = DB.Order("id desc").Find(&nodes).Error
|
|
return nodes, err
|
|
}
|
|
|
|
func GetNodeByNodeID(nodeID string) (*Node, error) {
|
|
node := &Node{}
|
|
err := DB.Where("node_id = ?", nodeID).First(node).Error
|
|
return node, err
|
|
}
|