2020-09-01 10:34:11 +08:00
|
|
|
|
package vo
|
|
|
|
|
|
|
2023-03-06 16:59:57 +08:00
|
|
|
|
import (
|
2024-02-29 22:12:50 +08:00
|
|
|
|
tagentity "mayfly-go/internal/tag/domain/entity"
|
2024-04-27 01:35:21 +08:00
|
|
|
|
"mayfly-go/pkg/model"
|
2023-03-06 16:59:57 +08:00
|
|
|
|
"time"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
2020-09-01 10:34:11 +08:00
|
|
|
|
type MachineVO struct {
|
2025-01-18 13:43:01 +08:00
|
|
|
|
model.ExtraData
|
2024-04-09 12:55:51 +08:00
|
|
|
|
tagentity.ResourceTags // 标签信息
|
|
|
|
|
|
tagentity.AuthCerts // 授权凭证信息
|
2024-02-29 22:12:50 +08:00
|
|
|
|
|
2023-03-06 16:59:57 +08:00
|
|
|
|
Id uint64 `json:"id"`
|
2023-12-05 23:03:51 +08:00
|
|
|
|
Code string `json:"code"`
|
2023-03-06 16:59:57 +08:00
|
|
|
|
Name string `json:"name"`
|
2024-04-06 04:03:38 +00:00
|
|
|
|
Protocol int `json:"protocol"`
|
2023-03-06 16:59:57 +08:00
|
|
|
|
Ip string `json:"ip"`
|
|
|
|
|
|
Port int `json:"port"`
|
2022-07-23 16:41:04 +08:00
|
|
|
|
Status *int8 `json:"status"`
|
2023-03-06 16:59:57 +08:00
|
|
|
|
SshTunnelMachineId int `json:"sshTunnelMachineId"` // ssh隧道机器id
|
2022-07-23 16:41:04 +08:00
|
|
|
|
CreateTime *time.Time `json:"createTime"`
|
|
|
|
|
|
Creator *string `json:"creator"`
|
|
|
|
|
|
CreatorId *int64 `json:"creatorId"`
|
|
|
|
|
|
UpdateTime *time.Time `json:"updateTime"`
|
|
|
|
|
|
Modifier *string `json:"modifier"`
|
|
|
|
|
|
ModifierId *int64 `json:"modifierId"`
|
|
|
|
|
|
Remark *string `json:"remark"`
|
2022-08-29 21:43:24 +08:00
|
|
|
|
EnableRecorder int8 `json:"enableRecorder"`
|
2023-11-07 21:05:21 +08:00
|
|
|
|
|
2024-02-23 22:53:17 +08:00
|
|
|
|
Stat map[string]any `json:"stat" gorm:"-"`
|
2020-09-01 10:34:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2024-02-29 22:12:50 +08:00
|
|
|
|
func (m *MachineVO) GetCode() string {
|
|
|
|
|
|
return m.Code
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-10-16 17:24:50 +08:00
|
|
|
|
type SimpleMachineVO struct {
|
|
|
|
|
|
Id uint64 `json:"id"`
|
|
|
|
|
|
Code string `json:"code"`
|
|
|
|
|
|
Name string `json:"name"`
|
|
|
|
|
|
Ip string `json:"ip"`
|
|
|
|
|
|
Port int `json:"port"`
|
|
|
|
|
|
Remark *string `json:"remark"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2021-05-08 18:00:33 +08:00
|
|
|
|
type MachineScriptVO struct {
|
|
|
|
|
|
Id *int64 `json:"id"`
|
|
|
|
|
|
Name *string `json:"name"`
|
|
|
|
|
|
Script *string `json:"script"`
|
|
|
|
|
|
Type *int `json:"type"`
|
|
|
|
|
|
Description *string `json:"description"`
|
2021-07-28 18:03:19 +08:00
|
|
|
|
Params *string `json:"params"`
|
2021-05-08 18:00:33 +08:00
|
|
|
|
MachineId *uint64 `json:"machineId"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2023-07-20 22:41:13 +08:00
|
|
|
|
// 机器记录任务
|
|
|
|
|
|
type MachineCronJobVO struct {
|
2024-05-08 21:04:25 +08:00
|
|
|
|
tagentity.RelateTags // 标签信息
|
|
|
|
|
|
|
2023-07-20 22:41:13 +08:00
|
|
|
|
Id uint64 `json:"id"`
|
|
|
|
|
|
Key string `json:"key"`
|
|
|
|
|
|
Name string `json:"name"`
|
|
|
|
|
|
Cron string `json:"cron"` // cron
|
|
|
|
|
|
Script string `json:"script"`
|
|
|
|
|
|
Status int `json:"status"`
|
|
|
|
|
|
SaveExecResType int `json:"saveExecResType"`
|
|
|
|
|
|
Remark string `json:"remark"`
|
|
|
|
|
|
Running bool `json:"running" gorm:"-"` // 是否运行中
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-05-08 21:04:25 +08:00
|
|
|
|
func (mcj *MachineCronJobVO) GetRelateId() uint64 {
|
|
|
|
|
|
return mcj.Id
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2021-05-08 18:00:33 +08:00
|
|
|
|
type MachineFileVO struct {
|
2025-02-20 17:07:13 +08:00
|
|
|
|
Id int64 `json:"id"`
|
|
|
|
|
|
Name string `json:"name"`
|
|
|
|
|
|
Path string `json:"path"`
|
|
|
|
|
|
Type int8 `json:"type"`
|
|
|
|
|
|
MachineId uint64 `json:"machineId"`
|
2021-05-08 18:00:33 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type MachineFileInfo struct {
|
2023-09-06 18:06:52 +08:00
|
|
|
|
Name string `json:"name"`
|
|
|
|
|
|
Path string `json:"path"`
|
|
|
|
|
|
Size int64 `json:"size"`
|
|
|
|
|
|
Type string `json:"type"`
|
|
|
|
|
|
Mode string `json:"mode"`
|
|
|
|
|
|
ModTime string `json:"modTime"`
|
2024-05-21 12:34:26 +08:00
|
|
|
|
|
|
|
|
|
|
UID uint32 `json:"uid"`
|
|
|
|
|
|
GID uint32 `json:"gid"`
|
2021-05-08 18:00:33 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2022-09-26 18:08:12 +08:00
|
|
|
|
type MachineFileInfos []MachineFileInfo
|
|
|
|
|
|
|
|
|
|
|
|
func (s MachineFileInfos) Len() int { return len(s) }
|
|
|
|
|
|
|
|
|
|
|
|
func (s MachineFileInfos) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
|
|
|
|
|
|
|
|
|
|
|
|
func (s MachineFileInfos) Less(i, j int) bool {
|
|
|
|
|
|
if s[i].Type != s[j].Type {
|
|
|
|
|
|
return s[i].Type > s[j].Type
|
|
|
|
|
|
}
|
|
|
|
|
|
return s[i].Name < s[j].Name
|
2020-09-01 10:34:11 +08:00
|
|
|
|
}
|
2024-04-27 01:35:21 +08:00
|
|
|
|
|
|
|
|
|
|
type MachineCmdConfVO struct {
|
|
|
|
|
|
tagentity.RelateTags // 标签信息
|
|
|
|
|
|
model.Model
|
|
|
|
|
|
|
|
|
|
|
|
Name string `json:"name"`
|
2025-05-24 16:22:54 +08:00
|
|
|
|
Cmds model.Slice[string] `json:"cmds" gorm:"type:varchar"` // 命令配置,要加gorm标签才会正确解析model.Slice
|
|
|
|
|
|
Status int8 `json:"execCmds"` // 状态
|
|
|
|
|
|
Stratege string `json:"stratege"` // 策略,空禁用
|
|
|
|
|
|
Remark string `json:"remark"` // 备注
|
2024-04-27 01:35:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func (mcc *MachineCmdConfVO) GetRelateId() uint64 {
|
|
|
|
|
|
return mcc.Id
|
|
|
|
|
|
}
|