mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-12 02:06:37 +08:00
[优化] Phase2
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
type Tunnel struct {
|
||||
ID uint `json:"id" gorm:"primaryKey"`
|
||||
TunnelID string `json:"tunnel_id" gorm:"uniqueIndex;size:64;not null"`
|
||||
Name string `json:"name" gorm:"size:128;not null"`
|
||||
TunnelToken string `json:"-" gorm:"size:128;index"`
|
||||
Status string `json:"status" gorm:"size:16;not null;default:'offline'"`
|
||||
ClientVersion string `json:"client_version" gorm:"size:64"`
|
||||
FrpVersion string `json:"frp_version" gorm:"size:64"`
|
||||
LastSeenAt time.Time `json:"last_seen_at"`
|
||||
LastError string `json:"last_error" gorm:"type:text"`
|
||||
CurrentVersion string `json:"current_version" gorm:"size:32"`
|
||||
CurrentChecksum string `json:"current_checksum" gorm:"size:64"`
|
||||
ConnectedRelays string `json:"connected_relays" gorm:"type:text;not null;default:'[]'"`
|
||||
Remark string `json:"remark" gorm:"size:255"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
}
|
||||
|
||||
func ListTunnels() (tunnels []*Tunnel, err error) {
|
||||
err = DB.Order("id desc").Find(&tunnels).Error
|
||||
return tunnels, err
|
||||
}
|
||||
|
||||
func GetTunnelByID(id uint) (*Tunnel, error) {
|
||||
tunnel := &Tunnel{}
|
||||
err := DB.First(tunnel, id).Error
|
||||
return tunnel, err
|
||||
}
|
||||
|
||||
func GetTunnelByTunnelID(tunnelID string) (*Tunnel, error) {
|
||||
tunnel := &Tunnel{}
|
||||
err := DB.Where("tunnel_id = ?", tunnelID).First(tunnel).Error
|
||||
return tunnel, err
|
||||
}
|
||||
|
||||
func GetTunnelByTunnelToken(token string) (*Tunnel, error) {
|
||||
tunnel := &Tunnel{}
|
||||
err := DB.Where("tunnel_token = ?", token).First(tunnel).Error
|
||||
return tunnel, err
|
||||
}
|
||||
|
||||
func (tunnel *Tunnel) Insert() error {
|
||||
return DB.Create(tunnel).Error
|
||||
}
|
||||
|
||||
func (tunnel *Tunnel) Update() error {
|
||||
return DB.Save(tunnel).Error
|
||||
}
|
||||
|
||||
func (tunnel *Tunnel) Delete() error {
|
||||
return DB.Delete(tunnel).Error
|
||||
}
|
||||
Reference in New Issue
Block a user