dto

package
v0.0.0-...-c7f185a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 13, 2026 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AppToolMap = map[string]string{
	"mysql": "phpmyadmin",
	"redis": "redis-commander",
}
View Source
var LBAlgorithms = map[string]struct{}{"ip_hash": {}, "least_conn": {}}
View Source
var RealIPKeys = map[string]struct{}{"X-Forwarded-For": {}, "X-Real-IP": {}, "CF-Connecting-IP": {}}
View Source
var ScopeKeyMap = map[NginxKey][]string{
	Index:     {"index"},
	LimitConn: {"limit_conn", "limit_rate", "limit_conn_zone"},
	SSL:       {"ssl_certificate", "ssl_certificate_key"},
	HttpPer:   {"server_names_hash_bucket_size", "client_header_buffer_size", "client_max_body_size", "keepalive_timeout", "gzip", "gzip_min_length", "gzip_comp_level"},
}
View Source
var StaticFileKeyMap = map[NginxKey]struct {
}{
	SSL:        {},
	CACHE:      {},
	ProxyCache: {},
}

Functions

This section is empty.

Types

type AddrRuleOperate

type AddrRuleOperate struct {
	ID        uint   `json:"id"`
	Operation string `json:"operation" validate:"required,oneof=add remove"`
	Address   string `json:"address"  validate:"required"`
	Strategy  string `json:"strategy" validate:"required,oneof=accept drop"`

	Description string `json:"description"`
}

type AddrRuleUpdate

type AddrRuleUpdate struct {
	OldRule AddrRuleOperate `json:"oldRule"`
	NewRule AddrRuleOperate `json:"newRule"`
}

type AgentAccountCreateReq

type AgentAccountCreateReq struct {
	Provider string `json:"provider" validate:"required"`
	Name     string `json:"name" validate:"required"`
	APIKey   string `json:"apiKey" validate:"required"`
	BaseURL  string `json:"baseURL"`
	Remark   string `json:"remark"`
}

type AgentAccountDeleteReq

type AgentAccountDeleteReq struct {
	ID uint `json:"id" validate:"required"`
}

type AgentAccountInfo

type AgentAccountInfo struct {
	ID           uint      `json:"id"`
	Provider     string    `json:"provider"`
	ProviderName string    `json:"providerName"`
	Name         string    `json:"name"`
	APIKey       string    `json:"apiKey"`
	BaseURL      string    `json:"baseUrl"`
	Verified     bool      `json:"verified"`
	Remark       string    `json:"remark"`
	CreatedAt    time.Time `json:"createdAt"`
}

type AgentAccountSearch

type AgentAccountSearch struct {
	PageInfo
	Provider string `json:"provider"`
	Name     string `json:"name"`
}

type AgentAccountUpdateReq

type AgentAccountUpdateReq struct {
	ID         uint   `json:"id" validate:"required"`
	Name       string `json:"name" validate:"required"`
	APIKey     string `json:"apiKey" validate:"required"`
	BaseURL    string `json:"baseURL"`
	Remark     string `json:"remark"`
	SyncAgents bool   `json:"syncAgents"`
}

type AgentAccountVerifyReq

type AgentAccountVerifyReq struct {
	Provider string `json:"provider" validate:"required"`
	APIKey   string `json:"apiKey" validate:"required"`
	BaseURL  string `json:"baseURL"`
}

type AgentCreateReq

type AgentCreateReq struct {
	Name          string  `json:"name" validate:"required"`
	AppVersion    string  `json:"appVersion" validate:"required"`
	WebUIPort     int     `json:"webUIPort" validate:"required"`
	BridgePort    int     `json:"bridgePort" validate:"required"`
	Provider      string  `json:"provider" validate:"required"`
	Model         string  `json:"model" validate:"required"`
	AccountID     uint    `json:"accountId"`
	APIKey        string  `json:"apiKey"`
	BaseURL       string  `json:"baseURL"`
	Token         string  `json:"token"`
	TaskID        string  `json:"taskID"`
	Advanced      bool    `json:"advanced"`
	ContainerName string  `json:"containerName"`
	AllowPort     bool    `json:"allowPort"`
	SpecifyIP     string  `json:"specifyIP"`
	RestartPolicy string  `json:"restartPolicy"`
	CpuQuota      float64 `json:"cpuQuota"`
	MemoryLimit   float64 `json:"memoryLimit"`
	MemoryUnit    string  `json:"memoryUnit"`
	PullImage     bool    `json:"pullImage"`
	EditCompose   bool    `json:"editCompose"`
	DockerCompose string  `json:"dockerCompose"`
}

type AgentDeleteReq

type AgentDeleteReq struct {
	ID          uint   `json:"id" validate:"required"`
	TaskID      string `json:"taskID"`
	ForceDelete bool   `json:"forceDelete"`
}

type AgentFeishuConfig

type AgentFeishuConfig struct {
	Enabled   bool   `json:"enabled"`
	DmPolicy  string `json:"dmPolicy"`
	BotName   string `json:"botName"`
	AppID     string `json:"appId"`
	AppSecret string `json:"appSecret"`
}

type AgentFeishuConfigReq

type AgentFeishuConfigReq struct {
	AgentID uint `json:"agentId" validate:"required"`
}

type AgentFeishuConfigUpdateReq

type AgentFeishuConfigUpdateReq struct {
	AgentID   uint   `json:"agentId" validate:"required"`
	BotName   string `json:"botName" validate:"required"`
	AppID     string `json:"appId" validate:"required"`
	AppSecret string `json:"appSecret" validate:"required"`
	Enabled   bool   `json:"enabled"`
	DmPolicy  string `json:"dmPolicy" validate:"required"`
}

type AgentFeishuPairingApproveReq

type AgentFeishuPairingApproveReq struct {
	AgentID     uint   `json:"agentId" validate:"required"`
	PairingCode string `json:"pairingCode" validate:"required"`
}

type AgentInfo

type AgentInfo struct {
	NodeName string `json:"nodeName"`
	NodeAddr string `json:"nodeAddr"`
}

type AgentItem

type AgentItem struct {
	ID           uint      `json:"id"`
	Name         string    `json:"name"`
	Provider     string    `json:"provider"`
	ProviderName string    `json:"providerName"`
	Model        string    `json:"model"`
	BaseURL      string    `json:"baseUrl"`
	APIKey       string    `json:"apiKey"`
	Token        string    `json:"token"`
	Status       string    `json:"status"`
	Message      string    `json:"message"`
	AppInstallID uint      `json:"appInstallId"`
	AccountID    uint      `json:"accountId"`
	AppVersion   string    `json:"appVersion"`
	Container    string    `json:"containerName"`
	WebUIPort    int       `json:"webUIPort"`
	BridgePort   int       `json:"bridgePort"`
	Path         string    `json:"path"`
	ConfigPath   string    `json:"configPath"`
	Upgradable   bool      `json:"upgradable"`
	CreatedAt    time.Time `json:"createdAt"`
}

type AgentModelConfigUpdateReq

type AgentModelConfigUpdateReq struct {
	AgentID   uint   `json:"agentId" validate:"required"`
	AccountID uint   `json:"accountId" validate:"required"`
	Model     string `json:"model" validate:"required"`
}

type AgentTokenResetReq

type AgentTokenResetReq struct {
	ID uint `json:"id" validate:"required"`
}

type AlertBase

type AlertBase struct {
	AlertType string `json:"alertType"`
	EntryID   uint   `json:"entryID"`
}

type AlertCommonConfig

type AlertCommonConfig struct {
	IsOffline          string             `json:"isOffline"`
	AlertSendTimeRange AlertSendTimeRange `json:"alertSendTimeRange"`
}

type AlertConfigTest

type AlertConfigTest struct {
	Host        string `json:"host"`
	Port        int    `json:"port"`
	Sender      string `json:"sender"`
	UserName    string `json:"userName"`
	Password    string `json:"password"`
	DisplayName string `json:"displayName"`
	Encryption  string `json:"encryption"` // "ssl" / "tls" / "none"
	Recipient   string `json:"recipient"`
}

type AlertConfigUpdate

type AlertConfigUpdate struct {
	ID     uint   `json:"id"`
	Type   string `json:"type"`
	Title  string `json:"title"`
	Status string `json:"status"`
	Config string `json:"config"`
}

type AlertCreate

type AlertCreate struct {
	Type           string `json:"type" validate:"required"`
	Cycle          uint   `json:"cycle"`
	Count          uint   `json:"count"`
	Method         string `json:"method" validate:"required"`
	Title          string `json:"title"`
	Project        string `json:"project"`
	Status         string `json:"status"`
	SendCount      uint   `json:"sendCount"`
	AdvancedParams string `json:"advancedParams"`
}

type AlertDTO

type AlertDTO struct {
	ID             uint      `json:"id"`
	Type           string    `json:"type"`
	Cycle          uint      `json:"cycle"`
	Count          uint      `json:"count"`
	Method         string    `json:"method"`
	Title          string    `json:"title"`
	Project        string    `json:"project"`
	Status         string    `json:"status"`
	SendCount      uint      `json:"sendCount"`
	AdvancedParams string    `json:"advancedParams"`
	CreatedAt      time.Time `json:"createdAt"`
	UpdatedAt      time.Time `json:"updatedAt"`
}

type AlertDetail

type AlertDetail struct {
	LicenseId   string  `json:"licenseId"`
	Type        string  `json:"type"`
	SubType     string  `json:"subType"`
	Title       string  `json:"title"`
	Method      string  `json:"method"`
	LicenseCode string  `json:"licenseCode"`
	DeviceId    string  `json:"deviceId"`
	Project     string  `json:"project"`
	Params      []Param `json:"params"`
	Phone       string  `json:"phone"`
}

type AlertDiskInfo

type AlertDiskInfo struct {
	Type   string
	Mount  string
	Device string
}

type AlertEmailConfig

type AlertEmailConfig struct {
	Host        string `json:"host"`
	Port        int    `json:"port"`
	Sender      string `json:"sender"`
	UserName    string `json:"userName"`
	Password    string `json:"password"`
	DisplayName string `json:"displayName"`
	Encryption  string `json:"encryption"` // "ssl" / "tls" / "none"
	Recipient   string `json:"recipient"`
}

type AlertLog

type AlertLog struct {
	ID uint `json:"id" validate:"required"`
}

type AlertLogCreate

type AlertLogCreate struct {
	Type        string `json:"type" validate:"required"`
	Count       uint   `json:"count" validate:"required"`
	AlertId     uint   `json:"alertId" validate:"required"`
	AlertDetail string `json:"alertDetail" validate:"required"`
	AlertRule   string `json:"alertRule" validate:"required"`
	Status      string `json:"status" validate:"required"`
	Method      string `json:"method" validate:"required"`
	Message     string `json:"message"`
	RecordId    uint   `json:"recordId"`
	LicenseId   string `json:"licenseId" validate:"required"`
}

type AlertLogDTO

type AlertLogDTO struct {
	ID          uint        `json:"id"`
	Type        string      `json:"type"`
	Count       uint        `json:"count"`
	AlertId     uint        `json:"alertId"`
	AlertDetail AlertDetail `json:"alertDetail"`
	AlertRule   AlertRule   `json:"alertRule"`
	Status      string      `json:"status"`
	Method      string      `json:"method"`
	Message     string      `json:"message"`
	CreatedAt   time.Time   `json:"createdAt"`
	UpdatedAt   time.Time   `json:"updatedAt"`
}

type AlertLogSearch

type AlertLogSearch struct {
	PageInfo
	Count  uint   `json:"count"`
	Status string `json:"status"`
}

type AlertResponse

type AlertResponse struct {
	Result  bool            `json:"result"`
	Data    json.RawMessage `json:"data"`
	Message string          `json:"message"`
}

type AlertRule

type AlertRule struct {
	ID        uint      `json:"id"`
	Type      string    `json:"type"`
	Cycle     uint      `json:"cycle"`
	Count     uint      `json:"count"`
	Method    string    `json:"method"`
	Title     string    `json:"title"`
	Project   string    `json:"project"`
	Status    string    `json:"status"`
	SendCount uint      `json:"sendCount"`
	CreatedAt time.Time `json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`
}

type AlertSearch

type AlertSearch struct {
	PageInfo
	OrderBy string `json:"orderBy" validate:"required,oneof=created_at"`
	Order   string `json:"order" validate:"required,oneof=null ascending descending"`
	Type    string `json:"type"`
	Status  string `json:"status"`
	Method  string `json:"method"`
}

type AlertSendTimeRange

type AlertSendTimeRange struct {
	NoticeAlert struct {
		SendTimeRange string   `json:"sendTimeRange"`
		Type          []string `json:"type"`
	} `json:"noticeAlert"`
	ResourceAlert struct {
		SendTimeRange string   `json:"sendTimeRange"`
		Type          []string `json:"type"`
	} `json:"resourceAlert"`
}

type AlertSmsConfig

type AlertSmsConfig struct {
	Phone         string `json:"phone"`
	AlertDailyNum string `json:"alertDailyNum"`
}

type AlertUpdate

type AlertUpdate struct {
	ID             uint   `json:"id" validate:"required"`
	Type           string `json:"type"`
	Cycle          uint   `json:"cycle"`
	Count          uint   `json:"count"`
	Method         string `json:"method"`
	Title          string `json:"title"`
	Project        string `json:"project"`
	Status         string `json:"status"`
	SendCount      uint   `json:"sendCount"`
	AdvancedParams string `json:"advancedParams"`
}

type AlertUpdateStatus

type AlertUpdateStatus struct {
	ID     uint   `json:"id" validate:"required"`
	Status string `json:"status" validate:"required"`
}

type AlertWebhookConfig

type AlertWebhookConfig struct {
	DisplayName string `json:"displayName"`
	Url         string `json:"url"`
}

type AppConfigVersion

type AppConfigVersion struct {
	Name                string      `json:"name"`
	LastModified        int         `json:"lastModified"`
	DownloadUrl         string      `json:"downloadUrl"`
	DownloadCallBackUrl string      `json:"downloadCallBackUrl"`
	AppForm             interface{} `json:"additionalProperties"`
}

type AppDatabase

type AppDatabase struct {
	ServiceName  string `json:"PANEL_DB_HOST"`
	DbName       string `json:"PANEL_DB_NAME"`
	DbUser       string `json:"PANEL_DB_USER"`
	Password     string `json:"PANEL_DB_USER_PASSWORD"`
	DatabaseName string `json:"DATABASE_NAME"`
	Format       string `json:"format"`
	Collation    string `json:"collation"`
}

type AppDefine

type AppDefine struct {
	Icon         string `json:"icon"`
	Name         string `json:"name"`
	ReadMe       string `json:"readMe"`
	LastModified int    `json:"lastModified"`

	AppProperty AppProperty        `json:"additionalProperties"`
	Versions    []AppConfigVersion `json:"versions"`
}

type AppForm

type AppForm struct {
	FormFields     []AppFormFields `json:"formFields"`
	SupportVersion float64         `json:"supportVersion"`
}

type AppFormFields

type AppFormFields struct {
	Type        string         `json:"type"`
	LabelZh     string         `json:"labelZh"`
	LabelEn     string         `json:"labelEn"`
	Label       Locale         `json:"label"`
	Description Locale         `json:"description"`
	Required    bool           `json:"required"`
	Default     interface{}    `json:"default"`
	EnvKey      string         `json:"envKey"`
	Disabled    bool           `json:"disabled"`
	Edit        bool           `json:"edit"`
	Rule        string         `json:"rule"`
	Multiple    bool           `json:"multiple"`
	Child       interface{}    `json:"child"`
	Values      []AppFormValue `json:"values"`
}

type AppFormValue

type AppFormValue struct {
	Label string `json:"label"`
	Value string `json:"value"`
}

type AppInstallInfo

type AppInstallInfo struct {
	ID   uint   `json:"id"`
	Key  string `json:"key"`
	Name string `json:"name"`
}

type AppLauncher

type AppLauncher struct {
	Key         string `json:"key"`
	Type        string `json:"type"`
	Name        string `json:"name"`
	Icon        string `json:"icon"`
	Limit       int    `json:"limit"`
	Description string `json:"description"`
	Recommend   int    `json:"recommend"`

	IsInstall   bool            `json:"isInstall"`
	IsRecommend bool            `json:"isRecommend"`
	Detail      []InstallDetail `json:"detail"`
}

type AppLauncherSync

type AppLauncherSync struct {
	Keys []string `json:"keys"`
}

type AppList

type AppList struct {
	Valid        bool     `json:"valid"`
	Violations   []string `json:"violations"`
	LastModified int      `json:"lastModified"`

	Apps  []AppDefine     `json:"apps"`
	Extra ExtraProperties `json:"additionalProperties"`
}

type AppOssConfig

type AppOssConfig struct {
	Version string `json:"version"`
	Package string `json:"package"`
}

type AppProperty

type AppProperty struct {
	Name                string   `json:"name"`
	Type                string   `json:"type"`
	Tags                []string `json:"tags"`
	ShortDescZh         string   `json:"shortDescZh" yaml:"shortDescZh"`
	ShortDescEn         string   `json:"shortDescEn" yaml:"shortDescEn"`
	Description         Locale   `json:"description"`
	Key                 string   `json:"key"`
	Required            []string `json:"Required"`
	CrossVersionUpdate  bool     `json:"crossVersionUpdate" yaml:"crossVersionUpdate"`
	Limit               int      `json:"limit" yaml:"limit"`
	Recommend           int      `json:"recommend" yaml:"recommend"`
	Website             string   `json:"website"`
	Github              string   `json:"github"`
	Document            string   `json:"document"`
	Architectures       []string `json:"architectures"`
	MemoryRequired      int      `json:"memoryRequired" yaml:"memoryRequired"`
	GpuSupport          bool     `json:"gpuSupport" yaml:"gpuSupport"`
	Version             float64  `json:"version"`
	Deprecated          float64  `json:"deprecated"`
	BatchInstallSupport bool     `json:"batchInstallSupport"`
}

type AppResource

type AppResource struct {
	Type string `json:"type"`
	Name string `json:"name"`
}

type AppVersion

type AppVersion struct {
	Version       string `json:"version"`
	DetailId      uint   `json:"detailId"`
	DockerCompose string `json:"dockerCompose"`
}

type AuthParam

type AuthParam struct {
	RootPassword string `json:"PANEL_DB_ROOT_PASSWORD"`
	RootUser     string `json:"PANEL_DB_ROOT_USER"`
}

type BackupCheckRes

type BackupCheckRes struct {
	IsOk  bool   `json:"isOk"`
	Msg   string `json:"msg"`
	Token string `json:"token"`
}

type BackupInfo

type BackupInfo struct {
	ID         uint      `json:"id"`
	Name       string    `json:"name"`
	Type       string    `json:"type"`
	IsPublic   bool      `json:"isPublic"`
	Bucket     string    `json:"bucket"`
	AccessKey  string    `json:"accessKey"`
	Credential string    `json:"credential"`
	BackupPath string    `json:"backupPath"`
	Vars       string    `json:"vars"`
	CreatedAt  time.Time `json:"createdAt"`

	RememberAuth bool `json:"rememberAuth"`
}

type BackupOperate

type BackupOperate struct {
	ID         uint   `json:"id"`
	Name       string `json:"name"`
	Type       string `json:"type" validate:"required"`
	IsPublic   bool   `json:"isPublic"`
	Bucket     string `json:"bucket"`
	AccessKey  string `json:"accessKey"`
	Credential string `json:"credential"`
	BackupPath string `json:"backupPath"`
	Vars       string `json:"vars" validate:"required"`

	RememberAuth bool `json:"rememberAuth"`
}

type BackupOption

type BackupOption struct {
	ID       uint   `json:"id"`
	Name     string `json:"name"`
	Type     string `json:"type"`
	IsPublic bool   `json:"isPublic"`
}

type BackupRecords

type BackupRecords struct {
	ID                uint      `json:"id"`
	CreatedAt         time.Time `json:"createdAt"`
	AccountType       string    `json:"accountType"`
	AccountName       string    `json:"accountName"`
	DownloadAccountID uint      `json:"downloadAccountID"`
	FileDir           string    `json:"fileDir"`
	FileName          string    `json:"fileName"`
	TaskID            string    `json:"taskID"`
	Status            string    `json:"status"`
	Message           string    `json:"message"`
	Description       string    `json:"description"`
}

type BatchDelete

type BatchDelete struct {
	TaskID string   `json:"taskID"`
	Force  bool     `json:"force"`
	Names  []string `json:"names" validate:"required"`
}

type BatchDeleteReq

type BatchDeleteReq struct {
	Ids []uint `json:"ids" validate:"required"`
}

type BatchRuleOperate

type BatchRuleOperate struct {
	Type  string            `json:"type" validate:"required"`
	Rules []PortRuleOperate `json:"rules"`
}

type BindUser

type BindUser struct {
	Database   string `json:"database" validate:"required"`
	DB         string `json:"db" validate:"required"`
	Username   string `json:"username" validate:"required"`
	Password   string `json:"password" validate:"required"`
	Permission string `json:"permission" validate:"required"`
}

type ChangeDBInfo

type ChangeDBInfo struct {
	ID       uint   `json:"id"`
	From     string `json:"from" validate:"required,oneof=local remote"`
	Type     string `json:"type" validate:"required,oneof=mysql mariadb postgresql redis mysql-cluster postgresql-cluster redis-cluster"`
	Database string `json:"database" validate:"required"`
	Value    string `json:"value" validate:"required"`
}

type ChangeGroup

type ChangeGroup struct {
	ID      uint `json:"id" validate:"required"`
	GroupID uint `json:"groupID" validate:"required"`
}

type ChangePasswd

type ChangePasswd struct {
	User   string `json:"user"`
	Passwd string `json:"passwd"`
}

type ChangeQuicks

type ChangeQuicks struct {
	Quicks []QuickJump `json:"quicks"`
}

type ChangeRedisPass

type ChangeRedisPass struct {
	Database string `json:"database" validate:"required"`
	Value    string `json:"value"`
}

redis

type ClamBaseInfo

type ClamBaseInfo struct {
	Version  string `json:"version"`
	IsActive bool   `json:"isActive"`
	IsExist  bool   `json:"isExist"`

	FreshVersion  string `json:"freshVersion"`
	FreshIsActive bool   `json:"freshIsActive"`
	FreshIsExist  bool   `json:"freshIsExist"`
}

type ClamCreate

type ClamCreate struct {
	Name             string `json:"name"`
	Status           string `json:"status"`
	Path             string `json:"path"`
	InfectedStrategy string `json:"infectedStrategy"`
	InfectedDir      string `json:"infectedDir"`
	Spec             string `json:"spec"`
	Timeout          uint   `json:"timeout"`
	Description      string `json:"description"`
	AlertCount       uint   `json:"alertCount"`
	AlertTitle       string `json:"alertTitle"`
	AlertMethod      string `json:"alertMethod"`
}

type ClamDTO

type ClamDTO struct {
	ID        uint      `json:"id"`
	CreatedAt time.Time `json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`
	Name      string    `json:"name"`
	Status    string    `json:"status"`
	Path      string    `json:"path"`
}

type ClamDelete

type ClamDelete struct {
	RemoveInfected bool   `json:"removeInfected"`
	Ids            []uint `json:"ids" validate:"required"`
}

type ClamFileReq

type ClamFileReq struct {
	Tail string `json:"tail"`
	Name string `json:"name" validate:"required"`
}

type ClamInfo

type ClamInfo struct {
	ID        uint      `json:"id"`
	CreatedAt time.Time `json:"createdAt"`

	Name             string `json:"name"`
	Status           string `json:"status"`
	Path             string `json:"path"`
	InfectedStrategy string `json:"infectedStrategy"`
	InfectedDir      string `json:"infectedDir"`
	LastRecordStatus string `json:"lastRecordStatus"`
	LastRecordTime   string `json:"lastRecordTime"`
	Spec             string `json:"spec"`
	Timeout          uint   `json:"timeout"`
	Description      string `json:"description"`
	AlertCount       uint   `json:"alertCount"`
	AlertMethod      string `json:"alertMethod"`
}

type ClamLogReq

type ClamLogReq struct {
	Tail       string `json:"tail"`
	ClamName   string `json:"clamName"`
	RecordName string `json:"recordName"`
}

type ClamLogSearch

type ClamLogSearch struct {
	PageInfo

	ClamID    uint      `json:"clamID"`
	Status    string    `json:"status"`
	StartTime time.Time `json:"startTime"`
	EndTime   time.Time `json:"endTime"`
}

type ClamRecord

type ClamRecord struct {
	ID            uint      `json:"id"`
	TaskID        string    `json:"taskID"`
	StartTime     time.Time `json:"startTime"`
	ScanTime      string    `json:"scanTime"`
	InfectedFiles string    `json:"infectedFiles"`
	TotalError    string    `json:"totalError"`

	Status  string `json:"status"`
	Message string `json:"message"`
}

type ClamUpdate

type ClamUpdate struct {
	ID uint `json:"id"`

	Name             string `json:"name"`
	Path             string `json:"path"`
	InfectedStrategy string `json:"infectedStrategy"`
	InfectedDir      string `json:"infectedDir"`
	Spec             string `json:"spec"`
	Timeout          uint   `json:"timeout"`
	Description      string `json:"description"`
	AlertCount       uint   `json:"alertCount"`
	AlertTitle       string `json:"alertTitle"`
	AlertMethod      string `json:"alertMethod"`
}

type ClamUpdateStatus

type ClamUpdateStatus struct {
	ID     uint   `json:"id"`
	Status string `json:"status"`
}

type Clean

type Clean struct {
	TreeType string `json:"treeType"`
	Name     string `json:"name"`
	Size     uint64 `json:"size"`
}

type CleanData

type CleanData struct {
	SystemClean    []CleanTree `json:"systemClean"`
	BackupClean    []CleanTree `json:"backupClean"`
	UploadClean    []CleanTree `json:"uploadClean"`
	DownloadClean  []CleanTree `json:"downloadClean"`
	SystemLogClean []CleanTree `json:"systemLogClean"`
	ContainerClean []CleanTree `json:"containerClean"`
}

type CleanLogConfig

type CleanLogConfig struct {
	Scopes []string `json:"scopes"`
}

type CleanTree

type CleanTree struct {
	ID       string      `json:"id"`
	Label    string      `json:"label"`
	Children []CleanTree `json:"children"`

	Type string `json:"type"`
	Name string `json:"name"`

	Size        uint64 `json:"size"`
	IsCheck     bool   `json:"isCheck"`
	IsRecommend bool   `json:"isRecommend"`
}

type CommandInfo

type CommandInfo struct {
	ID          uint   `json:"id"`
	GroupID     uint   `json:"groupID"`
	Name        string `json:"name"`
	Command     string `json:"command"`
	GroupBelong string `json:"groupBelong"`
}

type CommandOperate

type CommandOperate struct {
	ID          uint   `json:"id"`
	GroupID     uint   `json:"groupID"`
	GroupBelong string `json:"groupBelong"`
	Name        string `json:"name" validate:"required"`
	Command     string `json:"command" validate:"required"`
}

type CommandTree

type CommandTree struct {
	ID       uint          `json:"id"`
	Label    string        `json:"label"`
	Children []CommandInfo `json:"children"`
}

type CommonBackup

type CommonBackup struct {
	Type       string   `` /* 127-byte string literal not displayed */
	Name       string   `json:"name"`
	DetailName string   `json:"detailName"`
	Secret     string   `json:"secret"`
	TaskID     string   `json:"taskID"`
	FileName   string   `json:"fileName"`
	Args       []string `json:"args"`

	Description string `json:"description"`
}

type CommonDescription

type CommonDescription struct {
	ID          string `json:"id" validate:"required"`
	Type        string `json:"type" validate:"required"`
	DetailType  string `json:"detailType"`
	IsPinned    bool   `json:"isPinned"`
	Description string `json:"description"`
}

type CommonRecover

type CommonRecover struct {
	DownloadAccountID uint   `json:"downloadAccountID" validate:"required"`
	Type              string `` /* 127-byte string literal not displayed */
	Name              string `json:"name"`
	DetailName        string `json:"detailName"`
	File              string `json:"file"`
	Secret            string `json:"secret"`
	TaskID            string `json:"taskID"`
	BackupRecordID    uint   `json:"backupRecordID"`
	Timeout           int    `json:"timeout"`
}

type ComposeContainer

type ComposeContainer struct {
	ContainerID string   `json:"containerID"`
	Name        string   `json:"name"`
	CreateTime  string   `json:"createTime"`
	State       string   `json:"state"`
	Ports       []string `json:"ports"`
}

type ComposeCreate

type ComposeCreate struct {
	TaskID    string `json:"taskID"`
	Name      string `json:"name"`
	From      string `json:"from" validate:"required,oneof=edit path template"`
	File      string `json:"file"`
	Path      string `json:"path"`
	Template  uint   `json:"template"`
	Env       string `json:"env"`
	ForcePull bool   `json:"forcePull"`
}

type ComposeInfo

type ComposeInfo struct {
	Name           string             `json:"name"`
	CreatedAt      string             `json:"createdAt"`
	CreatedBy      string             `json:"createdBy"`
	ContainerCount int                `json:"containerCount"`
	RunningCount   int                `json:"runningCount"`
	ConfigFile     string             `json:"configFile"`
	Workdir        string             `json:"workdir"`
	Path           string             `json:"path"`
	Containers     []ComposeContainer `json:"containers"`
	Env            string             `json:"env"`
}

type ComposeLogClean

type ComposeLogClean struct {
	Name       string `json:"name" validate:"required"`
	Path       string `json:"path" validate:"required"`
	DetailPath string `json:"detailPath"`
}

type ComposeOperation

type ComposeOperation struct {
	Name      string `json:"name" validate:"required"`
	Path      string `json:"path"`
	Operation string `json:"operation" validate:"required,oneof=up start restart stop down delete"`
	WithFile  bool   `json:"withFile"`
	Force     bool   `json:"force"`
}

type ComposeTemplateBatch

type ComposeTemplateBatch struct {
	Templates []ComposeTemplateCreate `json:"templates" validate:"required"`
}

type ComposeTemplateCreate

type ComposeTemplateCreate struct {
	Name        string `json:"name" validate:"required"`
	Description string `json:"description"`
	Content     string `json:"content"`
}

type ComposeTemplateInfo

type ComposeTemplateInfo struct {
	ID          uint      `json:"id"`
	CreatedAt   time.Time `json:"createdAt"`
	Name        string    `json:"name"`
	Description string    `json:"description"`
	Content     string    `json:"content"`
}

type ComposeTemplateUpdate

type ComposeTemplateUpdate struct {
	ID          uint   `json:"id"`
	Description string `json:"description"`
	Content     string `json:"content"`
}

type ComposeUpdate

type ComposeUpdate struct {
	TaskID     string `json:"taskID"`
	Name       string `json:"name" validate:"required"`
	Path       string `json:"path" validate:"required"`
	DetailPath string `json:"detailPath"`
	Content    string `json:"content" validate:"required"`
	Env        string `json:"env"`
	ForcePull  bool   `json:"forcePull"`
}

type ContainerCommit

type ContainerCommit struct {
	ContainerId   string `json:"containerID" validate:"required"`
	ContainerName string `json:"containerName"`
	NewImageName  string `json:"newImageName"`
	Comment       string `json:"comment"`
	Author        string `json:"author"`
	Pause         bool   `json:"pause"`

	TaskID string `json:"taskID"`
}

type ContainerCreateByCommand

type ContainerCreateByCommand struct {
	TaskID  string `json:"taskID"`
	Command string `json:"command"`
}

type ContainerExec

type ContainerExec struct {
	ContainerName string      `json:"containerName"`
	DbParam       AppDatabase `json:"dbParam"`
	Auth          AuthParam   `json:"auth"`
}

type ContainerInfo

type ContainerInfo struct {
	ContainerID string `json:"containerID"`
	Name        string `json:"name"`
	ImageId     string `json:"imageID"`
	ImageName   string `json:"imageName"`
	CreateTime  string `json:"createTime"`
	State       string `json:"state"`
	RunTime     string `json:"runTime"`

	Network []string `json:"network"`
	Ports   []string `json:"ports"`

	IsFromApp     bool `json:"isFromApp"`
	IsFromCompose bool `json:"isFromCompose"`

	AppName        string   `json:"appName"`
	AppInstallName string   `json:"appInstallName"`
	Websites       []string `json:"websites"`

	IsPinned    bool   `json:"isPinned"`
	Description string `json:"description"`
}

type ContainerItemStats

type ContainerItemStats struct {
	SizeRw     int64 `json:"sizeRw"`
	SizeRootFs int64 `json:"sizeRootFs"`

	ContainerUsage        int64 `json:"containerUsage"`
	ContainerReclaimable  int64 `json:"containerReclaimable"`
	ImageUsage            int64 `json:"imageUsage"`
	ImageReclaimable      int64 `json:"imageReclaimable"`
	VolumeUsage           int64 `json:"volumeUsage"`
	VolumeReclaimable     int64 `json:"volumeReclaimable"`
	BuildCacheUsage       int64 `json:"buildCacheUsage"`
	BuildCacheReclaimable int64 `json:"buildCacheReclaimable"`
}

type ContainerListStats

type ContainerListStats struct {
	ContainerID string `json:"containerID"`

	CPUTotalUsage uint64  `json:"cpuTotalUsage"`
	SystemUsage   uint64  `json:"systemUsage"`
	CPUPercent    float64 `json:"cpuPercent"`
	PercpuUsage   int     `json:"percpuUsage"`

	MemoryCache   uint64  `json:"memoryCache"`
	MemoryUsage   uint64  `json:"memoryUsage"`
	MemoryLimit   uint64  `json:"memoryLimit"`
	MemoryPercent float64 `json:"memoryPercent"`
}

type ContainerLog

type ContainerLog struct {
	Container     string `json:"container" validate:"required"`
	Since         string `json:"since"`
	Tail          uint   `json:"tail"`
	Timestamp     bool   `json:"timestamp"`
	ContainerType string `json:"containerType"`
}

type ContainerNetwork

type ContainerNetwork struct {
	Network string `json:"network"`
	Ipv4    string `json:"ipv4"`
	Ipv6    string `json:"ipv6"`
	MacAddr string `json:"macAddr"`
}

type ContainerOperate

type ContainerOperate struct {
	TaskID    string `json:"taskID"`
	ForcePull bool   `json:"forcePull"`
	Name      string `json:"name" validate:"required"`
	Image     string `json:"image" validate:"required"`

	Hostname   string             `json:"hostname"`
	DomainName string             `json:"domainName"`
	DNS        []string           `json:"dns"`
	Networks   []ContainerNetwork `json:"networks"`

	PublishAllPorts bool           `json:"publishAllPorts"`
	ExposedPorts    []PortHelper   `json:"exposedPorts"`
	Tty             bool           `json:"tty"`
	OpenStdin       bool           `json:"openStdin"`
	WorkingDir      string         `json:"workingDir"`
	User            string         `json:"user"`
	Cmd             []string       `json:"cmd"`
	Entrypoint      []string       `json:"entrypoint"`
	CPUShares       int64          `json:"cpuShares"`
	NanoCPUs        float64        `json:"nanoCPUs"`
	Memory          float64        `json:"memory"`
	Privileged      bool           `json:"privileged"`
	AutoRemove      bool           `json:"autoRemove"`
	Volumes         []VolumeHelper `json:"volumes"`
	Labels          []string       `json:"labels"`
	Env             []string       `json:"env"`
	RestartPolicy   string         `json:"restartPolicy"`
}

type ContainerOperation

type ContainerOperation struct {
	TaskID    string   `json:"taskID"`
	Names     []string `json:"names" validate:"required"`
	Operation string   `json:"operation" validate:"required,oneof=up start stop restart kill pause unpause remove"`
}

type ContainerOptions

type ContainerOptions struct {
	Name  string `json:"name"`
	State string `json:"state"`
}

type ContainerPrune

type ContainerPrune struct {
	TaskID     string `json:"taskID"`
	PruneType  string `json:"pruneType" validate:"required,oneof=container image volume network buildcache"`
	WithTagAll bool   `json:"withTagAll"`
}

type ContainerRename

type ContainerRename struct {
	Name    string `json:"name" validate:"required"`
	NewName string `json:"newName" validate:"required"`
}

type ContainerStats

type ContainerStats struct {
	CPUPercent float64 `json:"cpuPercent"`
	Memory     float64 `json:"memory"`
	Cache      float64 `json:"cache"`
	IORead     float64 `json:"ioRead"`
	IOWrite    float64 `json:"ioWrite"`
	NetworkRX  float64 `json:"networkRX"`
	NetworkTX  float64 `json:"networkTX"`

	ShotTime time.Time `json:"shotTime"`
}

type ContainerStatus

type ContainerStatus struct {
	Created    int `json:"created"`
	Running    int `json:"running"`
	Paused     int `json:"paused"`
	Restarting int `json:"restarting"`
	Removing   int `json:"removing"`
	Exited     int `json:"exited"`
	Dead       int `json:"dead"`

	ContainerCount       int `json:"containerCount"`
	ComposeCount         int `json:"composeCount"`
	ComposeTemplateCount int `json:"composeTemplateCount"`
	ImageCount           int `json:"imageCount"`
	NetworkCount         int `json:"networkCount"`
	VolumeCount          int `json:"volumeCount"`
	RepoCount            int `json:"repoCount"`
}

type ContainerUpgrade

type ContainerUpgrade struct {
	TaskID    string   `json:"taskID"`
	Names     []string `json:"names" validate:"required"`
	Image     string   `json:"image" validate:"required"`
	ForcePull bool     `json:"forcePull"`
}

type CreateOrUpdateAlert

type CreateOrUpdateAlert struct {
	AlertTitle  string `json:"alertTitle"`
	AlertType   string `json:"alertType"`
	AlertMethod string `json:"alertMethod"`
	AlertCount  uint   `json:"alertCount"`
	EntryID     uint   `json:"entryID"`
}

type CronJobDTO

type CronJobDTO struct {
	ID        uint      `json:"id"`
	CreatedAt time.Time `json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`
	Name      string    `json:"name"`
	Status    string    `json:"status"`
	Type      string    `json:"type"`
}

type CronJobReq

type CronJobReq struct {
	Name   string `json:"name"`
	Status string `json:"status"`
	Type   string `json:"type"`
}

type CronjobBatchDelete

type CronjobBatchDelete struct {
	CleanData       bool   `json:"cleanData"`
	CleanRemoteData bool   `json:"cleanRemoteData"`
	IDs             []uint `json:"ids" validate:"required"`
}

type CronjobClean

type CronjobClean struct {
	IsDelete        bool `json:"isDelete"`
	CleanData       bool `json:"cleanData"`
	CronjobID       uint `json:"cronjobID" validate:"required"`
	CleanRemoteData bool `json:"cleanRemoteData"`
}

type CronjobImport

type CronjobImport struct {
	Cronjobs []CronjobTrans `json:"cronjobs"`
}

type CronjobInfo

type CronjobInfo struct {
	ID         uint   `json:"id"`
	Name       string `json:"name"`
	Type       string `json:"type"`
	GroupID    uint   `json:"groupID"`
	SpecCustom bool   `json:"specCustom"`
	Spec       string `json:"spec"`

	Executor      string `json:"executor"`
	ScriptMode    string `json:"scriptMode"`
	Script        string `json:"script"`
	Command       string `json:"command"`
	ContainerName string `json:"containerName"`
	User          string `json:"user"`

	ScriptID       uint         `json:"scriptID"`
	AppID          string       `json:"appID"`
	Website        string       `json:"website"`
	ExclusionRules string       `json:"exclusionRules"`
	DBType         string       `json:"dbType"`
	DBName         string       `json:"dbName"`
	URL            string       `json:"url"`
	IsDir          bool         `json:"isDir"`
	SourceDir      string       `json:"sourceDir"`
	RetainCopies   int          `json:"retainCopies"`
	RetryTimes     int          `json:"retryTimes"`
	Timeout        uint         `json:"timeout"`
	IgnoreErr      bool         `json:"ignoreErr"`
	SnapshotRule   SnapshotRule `json:"snapshotRule"`

	SourceAccounts    []string `json:"sourceAccounts"`
	DownloadAccount   string   `json:"downloadAccount"`
	SourceAccountIDs  string   `json:"sourceAccountIDs"`
	DownloadAccountID uint     `json:"downloadAccountID"`

	LastRecordStatus string `json:"lastRecordStatus"`
	LastRecordTime   string `json:"lastRecordTime"`
	Status           string `json:"status"`
	Secret           string `json:"secret"`
	Args             string `json:"args"`

	AlertCount uint `json:"alertCount"`
}

type CronjobOperate

type CronjobOperate struct {
	ID         uint   `json:"id"`
	Name       string `json:"name" validate:"required"`
	Type       string `json:"type" validate:"required"`
	GroupID    uint   `json:"groupID"`
	SpecCustom bool   `json:"specCustom"`
	Spec       string `json:"spec" validate:"required"`

	Executor      string `json:"executor"`
	ScriptMode    string `json:"scriptMode"`
	Script        string `json:"script"`
	Command       string `json:"command"`
	ContainerName string `json:"containerName"`
	User          string `json:"user"`

	ScriptID       uint         `json:"scriptID"`
	AppID          string       `json:"appID"`
	Website        string       `json:"website"`
	ExclusionRules string       `json:"exclusionRules"`
	DBType         string       `json:"dbType"`
	DBName         string       `json:"dbName"`
	URL            string       `json:"url"`
	IsDir          bool         `json:"isDir"`
	SourceDir      string       `json:"sourceDir"`
	SnapshotRule   SnapshotRule `json:"snapshotRule"`

	SourceAccountIDs  string `json:"sourceAccountIDs"`
	DownloadAccountID uint   `json:"downloadAccountID"`
	RetainCopies      int    `json:"retainCopies" validate:"number,min=1"`
	RetryTimes        int    `json:"retryTimes" validate:"number,min=0"`
	Timeout           uint   `json:"timeout" validate:"number,min=1"`
	IgnoreErr         bool   `json:"ignoreErr"`
	Secret            string `json:"secret"`
	Args              string `json:"args"`

	AlertCount  uint   `json:"alertCount"`
	AlertTitle  string `json:"alertTitle"`
	AlertMethod string `json:"alertMethod"`

	CleanLogConfig
}

type CronjobSpec

type CronjobSpec struct {
	Spec string `json:"spec" validate:"required"`
}

type CronjobTrans

type CronjobTrans struct {
	Name       string `json:"name"`
	Type       string `json:"type"`
	GroupID    uint   `json:"groupID"`
	SpecCustom bool   `json:"specCustom"`
	Spec       string `json:"spec"`

	Executor      string `json:"executor"`
	ScriptMode    string `json:"scriptMode"`
	Script        string `json:"script"`
	Command       string `json:"command"`
	ContainerName string `json:"containerName"`
	User          string `json:"user"`
	URL           string `json:"url"`

	ScriptName string        `json:"scriptName"`
	Apps       []TransHelper `json:"apps"`
	Websites   []string      `json:"websites"`
	DBType     string        `json:"dbType"`
	DBNames    []TransHelper `json:"dbName"`

	ExclusionRules string `json:"exclusionRules"`

	IsDir     bool   `json:"isDir"`
	SourceDir string `json:"sourceDir"`

	RetainCopies uint64              `json:"retainCopies"`
	RetryTimes   uint                `json:"retryTimes"`
	Timeout      uint                `json:"timeout"`
	IgnoreErr    bool                `json:"ignoreErr"`
	SnapshotRule SnapshotTransHelper `json:"snapshotRule"`
	Secret       string              `json:"secret"`
	Args         string              `json:"args"`

	SourceAccounts  []string `json:"sourceAccounts"`
	DownloadAccount string   `json:"downloadAccount"`

	AlertCount  uint   `json:"alertCount"`
	AlertTitle  string `json:"alertTitle"`
	AlertMethod string `json:"alertMethod"`
}

type CronjobUpdateStatus

type CronjobUpdateStatus struct {
	ID     uint   `json:"id" validate:"required"`
	Status string `json:"status" validate:"required"`
}

type DBBaseInfo

type DBBaseInfo struct {
	Name          string `json:"name"`
	ContainerName string `json:"containerName"`
	Port          int64  `json:"port"`
}

type DBConfUpdateByFile

type DBConfUpdateByFile struct {
	Type     string `json:"type" validate:"required,oneof=mysql mariadb postgresql redis mysql-cluster postgresql-cluster redis-cluster"`
	Database string `json:"database" validate:"required"`
	File     string `json:"file"`
}

common

type DBResource

type DBResource struct {
	Type string `json:"type"`
	Name string `json:"name"`
}

type DaemonJsonConf

type DaemonJsonConf struct {
	IsSwarm      bool     `json:"isSwarm"`
	Version      string   `json:"version"`
	Mirrors      []string `json:"registryMirrors"`
	Registries   []string `json:"insecureRegistries"`
	LiveRestore  bool     `json:"liveRestore"`
	IPTables     bool     `json:"iptables"`
	CgroupDriver string   `json:"cgroupDriver"`

	Ipv6         bool   `json:"ipv6"`
	FixedCidrV6  string `json:"fixedCidrV6"`
	Ip6Tables    bool   `json:"ip6Tables"`
	Experimental bool   `json:"experimental"`

	LogMaxSize string `json:"logMaxSize"`
	LogMaxFile string `json:"logMaxFile"`
}

type DaemonJsonUpdateByFile

type DaemonJsonUpdateByFile struct {
	File string `json:"file"`
}

type DashboardBase

type DashboardBase struct {
	WebsiteNumber      int `json:"websiteNumber"`
	DatabaseNumber     int `json:"databaseNumber"`
	CronjobNumber      int `json:"cronjobNumber"`
	AppInstalledNumber int `json:"appInstalledNumber"`

	Hostname             string `json:"hostname"`
	OS                   string `json:"os"`
	Platform             string `json:"platform"`
	PlatformFamily       string `json:"platformFamily"`
	PlatformVersion      string `json:"platformVersion"`
	PrettyDistro         string `json:"prettyDistro"`
	KernelArch           string `json:"kernelArch"`
	KernelVersion        string `json:"kernelVersion"`
	VirtualizationSystem string `json:"virtualizationSystem"`
	IpV4Addr             string `json:"ipV4Addr"`
	SystemProxy          string `json:"systemProxy"`

	CPUCores        int     `json:"cpuCores"`
	CPULogicalCores int     `json:"cpuLogicalCores"`
	CPUModelName    string  `json:"cpuModelName"`
	CPUMhz          float64 `json:"cpuMhz"`

	QuickJumps  []QuickJump      `json:"quickJump"`
	CurrentInfo DashboardCurrent `json:"currentInfo"`
}

type DashboardCurrent

type DashboardCurrent struct {
	Uptime          uint64 `json:"uptime"`
	TimeSinceUptime string `json:"timeSinceUptime"`

	Procs uint64 `json:"procs"`

	Load1            float64 `json:"load1"`
	Load5            float64 `json:"load5"`
	Load15           float64 `json:"load15"`
	LoadUsagePercent float64 `json:"loadUsagePercent"`

	CPUPercent         []float64 `json:"cpuPercent"`
	CPUUsedPercent     float64   `json:"cpuUsedPercent"`
	CPUUsed            float64   `json:"cpuUsed"`
	CPUTotal           int       `json:"cpuTotal"`
	CPUDetailedPercent []float64 `json:"cpuDetailedPercent"`

	MemoryTotal       uint64  `json:"memoryTotal"`
	MemoryUsed        uint64  `json:"memoryUsed"`
	MemoryFree        uint64  `json:"memoryFree"`
	MemoryShard       uint64  `json:"memoryShard"`
	MemoryCache       uint64  `json:"memoryCache"`
	MemoryAvailable   uint64  `json:"memoryAvailable"`
	MemoryUsedPercent float64 `json:"memoryUsedPercent"`

	SwapMemoryTotal       uint64  `json:"swapMemoryTotal"`
	SwapMemoryAvailable   uint64  `json:"swapMemoryAvailable"`
	SwapMemoryUsed        uint64  `json:"swapMemoryUsed"`
	SwapMemoryUsedPercent float64 `json:"swapMemoryUsedPercent"`

	IOReadBytes  uint64 `json:"ioReadBytes"`
	IOWriteBytes uint64 `json:"ioWriteBytes"`
	IOCount      uint64 `json:"ioCount"`
	IOReadTime   uint64 `json:"ioReadTime"`
	IOWriteTime  uint64 `json:"ioWriteTime"`

	DiskData []DiskInfo `json:"diskData"`

	NetBytesSent uint64 `json:"netBytesSent"`
	NetBytesRecv uint64 `json:"netBytesRecv"`

	GPUData []GPUInfo `json:"gpuData"`
	XPUData []XPUInfo `json:"xpuData"`

	TopCPUItems []Process `json:"topCPUItems"`
	TopMemItems []Process `json:"topMemItems"`

	ShotTime time.Time `json:"shotTime"`
}

type DataTree

type DataTree struct {
	ID        string `json:"id"`
	Label     string `json:"label"`
	Key       string `json:"key"`
	Name      string `json:"name"`
	IsLocal   bool   `json:"isLocal"`
	Size      uint64 `json:"size"`
	IsCheck   bool   `json:"isCheck"`
	IsDisable bool   `json:"isDisable"`

	Path string `json:"path"`

	RelationItemID string     `json:"relationItemID"`
	Children       []DataTree `json:"children"`
}

type DatabaseCreate

type DatabaseCreate struct {
	Name      string `json:"name" validate:"required,max=256"`
	Type      string `json:"type" validate:"required"`
	From      string `json:"from" validate:"required,oneof=local remote"`
	Version   string `json:"version" validate:"required"`
	Address   string `json:"address"`
	Port      uint   `json:"port"`
	InitialDB string `json:"initialDB"`
	Username  string `json:"username" validate:"required"`
	Password  string `json:"password"`

	SSL        bool   `json:"ssl"`
	RootCert   string `json:"rootCert"`
	ClientKey  string `json:"clientKey"`
	ClientCert string `json:"clientCert"`
	SkipVerify bool   `json:"skipVerify"`

	Timeout     uint   `json:"timeout"`
	Description string `json:"description"`
}

type DatabaseDelete

type DatabaseDelete struct {
	ID           uint `json:"id" validate:"required"`
	ForceDelete  bool `json:"forceDelete"`
	DeleteBackup bool `json:"deleteBackup"`
}

type DatabaseFileRecords

type DatabaseFileRecords struct {
	Database  string `json:"database" validate:"required"`
	FileName  string `json:"fileName"`
	FileDir   string `json:"fileDir"`
	CreatedAt string `json:"createdAt"`
	Size      int    `json:"size"`
}

type DatabaseInfo

type DatabaseInfo struct {
	ID        uint      `json:"id"`
	CreatedAt time.Time `json:"createdAt"`
	Name      string    `json:"name" validate:"max=256"`
	From      string    `json:"from"`
	Type      string    `json:"type"`
	Version   string    `json:"version"`
	Address   string    `json:"address"`
	Port      uint      `json:"port"`
	InitialDB string    `json:"initialDB"`
	Username  string    `json:"username"`
	Password  string    `json:"password"`

	SSL        bool   `json:"ssl"`
	RootCert   string `json:"rootCert"`
	ClientKey  string `json:"clientKey"`
	ClientCert string `json:"clientCert"`
	SkipVerify bool   `json:"skipVerify"`

	Timeout     uint   `json:"timeout"`
	Description string `json:"description"`
}

type DatabaseItem

type DatabaseItem struct {
	ID       uint   `json:"id"`
	From     string `json:"from"`
	Database string `json:"database"`
	Name     string `json:"name"`
}

type DatabaseOption

type DatabaseOption struct {
	ID       uint   `json:"id"`
	Type     string `json:"type"`
	From     string `json:"from"`
	Database string `json:"database"`
	Version  string `json:"version"`
	Address  string `json:"address"`
}

type DatabaseSearch

type DatabaseSearch struct {
	PageInfo
	Info    string `json:"info"`
	Type    string `json:"type"`
	OrderBy string `json:"orderBy" validate:"required,oneof=name createdAt"`
	Order   string `json:"order" validate:"required,oneof=null ascending descending"`
}

database

type DatabaseUpdate

type DatabaseUpdate struct {
	ID        uint   `json:"id"`
	Type      string `json:"type" validate:"required"`
	Version   string `json:"version" validate:"required"`
	Address   string `json:"address"`
	Port      uint   `json:"port"`
	InitialDB string `json:"initialDB"`
	Username  string `json:"username" validate:"required"`
	Password  string `json:"password"`

	SSL        bool   `json:"ssl"`
	RootCert   string `json:"rootCert"`
	ClientKey  string `json:"clientKey"`
	ClientCert string `json:"clientCert"`
	SkipVerify bool   `json:"skipVerify"`

	Timeout     uint   `json:"timeout"`
	Description string `json:"description"`
}
type DelAppLink struct {
	Ctx         context.Context
	Task        *task.Task
	Install     *model.AppInstall
	ForceDelete bool
}

type DeleteByName

type DeleteByName struct {
	Name string `json:"name" validate:"required"`
}

type DeleteRequest

type DeleteRequest struct {
	ID uint `json:"id" validate:"required"`
}

type DeviceBaseInfo

type DeviceBaseInfo struct {
	DNS       []string     `json:"dns"`
	Hosts     []HostHelper `json:"hosts"`
	Hostname  string       `json:"hostname"`
	TimeZone  string       `json:"timeZone"`
	LocalTime string       `json:"localTime"`
	Ntp       string       `json:"ntp"`
	User      string       `json:"user"`

	SwapMemoryTotal     uint64 `json:"swapMemoryTotal"`
	SwapMemoryAvailable uint64 `json:"swapMemoryAvailable"`
	SwapMemoryUsed      uint64 `json:"swapMemoryUsed"`
	MaxSize             uint64 `json:"maxSize"`

	SwapDetails []SwapHelper `json:"swapDetails"`
}

type DiskDTO

type DiskDTO struct {
	Path        string  `json:"path"`
	Type        string  `json:"type"`
	Device      string  `json:"device"`
	Total       uint64  `json:"total"`
	Free        uint64  `json:"free"`
	Used        uint64  `json:"used"`
	UsedPercent float64 `json:"usedPercent"`

	InodesTotal       uint64  `json:"inodesTotal"`
	InodesUsed        uint64  `json:"inodesUsed"`
	InodesFree        uint64  `json:"inodesFree"`
	InodesUsedPercent float64 `json:"inodesUsedPercent"`
}

type DiskFormatRequest

type DiskFormatRequest struct {
	Device      string `json:"device" `
	Filesystem  string `json:"filesystem" `
	Label       string `json:"label,omitempty" `
	QuickFormat bool   `json:"quickFormat,omitempty"`
}

type DiskInfo

type DiskInfo struct {
	Path        string  `json:"path"`
	Type        string  `json:"type"`
	Device      string  `json:"device"`
	Total       uint64  `json:"total"`
	Free        uint64  `json:"free"`
	Used        uint64  `json:"used"`
	UsedPercent float64 `json:"usedPercent"`

	InodesTotal       uint64  `json:"inodesTotal"`
	InodesUsed        uint64  `json:"inodesUsed"`
	InodesFree        uint64  `json:"inodesFree"`
	InodesUsedPercent float64 `json:"inodesUsedPercent"`
}

type DockerOperation

type DockerOperation struct {
	Operation string `json:"operation" validate:"required,oneof=start restart stop"`
}

type DockerStatus

type DockerStatus struct {
	IsActive bool `json:"isActive"`
	IsExist  bool `json:"isExist"`
}

type DownloadRecord

type DownloadRecord struct {
	DownloadAccountID uint   `json:"downloadAccountID" validate:"required"`
	FileDir           string `json:"fileDir" validate:"required"`
	FileName          string `json:"fileName" validate:"required"`
}

type ExtraProperties

type ExtraProperties struct {
	Tags    []Tag  `json:"tags"`
	Version string `json:"version"`
}

type Fail2BanBaseInfo

type Fail2BanBaseInfo struct {
	IsEnable bool   `json:"isEnable"`
	IsActive bool   `json:"isActive"`
	IsExist  bool   `json:"isExist"`
	Version  string `json:"version"`

	Port      int    `json:"port"`
	MaxRetry  int    `json:"maxRetry"`
	BanTime   string `json:"banTime"`
	FindTime  string `json:"findTime"`
	BanAction string `json:"banAction"`
	LogPath   string `json:"logPath"`
}

type Fail2BanSearch

type Fail2BanSearch struct {
	Status string `json:"status" validate:"required,oneof=banned ignore"`
}

type Fail2BanSet

type Fail2BanSet struct {
	IPs     []string `json:"ips"`
	Operate string   `json:"operate"  validate:"required,oneof=banned ignore"`
}

type Fail2BanUpdate

type Fail2BanUpdate struct {
	Key   string `json:"key" validate:"required,oneof=port bantime findtime maxretry banaction logpath port"`
	Value string `json:"value"`
}

type FilePath

type FilePath struct {
	Path string `json:"path" validate:"required"`
}

type FirewallBaseInfo

type FirewallBaseInfo struct {
	Name       string `json:"name"`
	IsExist    bool   `json:"isExist"`
	IsActive   bool   `json:"isActive"`
	IsInit     bool   `json:"isInit"`
	IsBind     bool   `json:"isBind"`
	Version    string `json:"version"`
	PingStatus string `json:"pingStatus"`
}

type FirewallOperation

type FirewallOperation struct {
	Operation         string `json:"operation" validate:"required,oneof=start stop restart disableBanPing enableBanPing"`
	WithDockerRestart bool   `json:"withDockerRestart"`
}

type ForBuckets

type ForBuckets struct {
	Type       string `json:"type" validate:"required"`
	AccessKey  string `json:"accessKey"`
	Credential string `json:"credential" validate:"required"`
	Vars       string `json:"vars" validate:"required"`
}

type ForceDelete

type ForceDelete struct {
	IDs         []uint `json:"ids"`
	ForceDelete bool   `json:"forceDelete"`
}

type ForwardRuleOperate

type ForwardRuleOperate struct {
	ForceDelete bool `json:"forceDelete"`
	Rules       []struct {
		Operation  string `json:"operation" validate:"required,oneof=add remove"`
		Num        string `json:"num"`
		Protocol   string `json:"protocol" validate:"required,oneof=tcp udp tcp/udp"`
		Interface  string `json:"interface"`
		Port       string `json:"port" validate:"required"`
		TargetIP   string `json:"targetIP"`
		TargetPort string `json:"targetPort" validate:"required"`
	} `json:"rules"`
}

type FtpBaseInfo

type FtpBaseInfo struct {
	IsActive bool `json:"isActive"`
	IsExist  bool `json:"isExist"`
}

type FtpCreate

type FtpCreate struct {
	User        string `json:"user" validate:"required"`
	Password    string `json:"password" validate:"required"`
	Path        string `json:"path" validate:"required"`
	Description string `json:"description"`
}

type FtpInfo

type FtpInfo struct {
	ID        uint      `json:"id"`
	CreatedAt time.Time `json:"createdAt"`

	User        string `json:"user"`
	Password    string `json:"password"`
	Path        string `json:"path"`
	Status      string `json:"status"`
	Description string `json:"description"`
}

type FtpLogSearch

type FtpLogSearch struct {
	PageInfo
	User      string `json:"user"`
	Operation string `json:"operation"`
}

type FtpUpdate

type FtpUpdate struct {
	ID uint `json:"id"`

	Password    string `json:"password" validate:"required"`
	Path        string `json:"path" validate:"required"`
	Status      string `json:"status"`
	Description string `json:"description"`
}

type GPUChartHide

type GPUChartHide struct {
	ProductName string `json:"productName"`
	Process     bool   `json:"process"`
	GPU         bool   `json:"gpu"`
	Memory      bool   `json:"memory"`
	Power       bool   `json:"power"`
	Temperature bool   `json:"temperature"`
	Speed       bool   `json:"speed"`
}

type GPUInfo

type GPUInfo struct {
	Index            uint   `json:"index"`
	ProductName      string `json:"productName"`
	GPUUtil          string `json:"gpuUtil"`
	Temperature      string `json:"temperature"`
	PerformanceState string `json:"performanceState"`
	PowerUsage       string `json:"powerUsage"`
	PowerDraw        string `json:"powerDraw"`
	MaxPowerLimit    string `json:"maxPowerLimit"`
	MemoryUsage      string `json:"memoryUsage"`
	MemUsed          string `json:"memUsed"`
	MemTotal         string `json:"memTotal"`
	FanSpeed         string `json:"fanSpeed"`
}

type GPUProcess

type GPUProcess struct {
	Pid         string `json:"pid"`
	Type        string `json:"type"`
	ProcessName string `json:"processName"`
	UsedMemory  string `json:"usedMemory"`
}

type GenerateLoad

type GenerateLoad struct {
	EncryptionMode string `json:"encryptionMode" validate:"required,oneof=rsa ed25519 ecdsa dsa"`
}

type GroupCreate

type GroupCreate struct {
	ID   uint   `json:"id"`
	Name string `json:"name" validate:"required"`
	Type string `json:"type" validate:"required"`
}

type GroupInfo

type GroupInfo struct {
	ID        uint   `json:"id"`
	Name      string `json:"name"`
	Type      string `json:"type"`
	IsDefault bool   `json:"isDefault"`
}

type GroupSearch

type GroupSearch struct {
	Type string `json:"type" validate:"required"`
}

type GroupUpdate

type GroupUpdate struct {
	ID        uint   `json:"id"`
	Name      string `json:"name"`
	Type      string `json:"type" validate:"required"`
	IsDefault bool   `json:"isDefault"`
}

type HostHelper

type HostHelper struct {
	IP   string `json:"ip"`
	Host string `json:"host"`
}

type ImageBuild

type ImageBuild struct {
	TaskID     string   `json:"taskID"`
	From       string   `json:"from" validate:"required"`
	Name       string   `json:"name" validate:"required"`
	Dockerfile string   `json:"dockerfile" validate:"required"`
	Tags       []string `json:"tags"`
	Args       []string `json:"args"`
}

type ImageInfo

type ImageInfo struct {
	ID        string    `json:"id"`
	CreatedAt time.Time `json:"createdAt"`
	IsUsed    bool      `json:"isUsed"`
	Tags      []string  `json:"tags"`
	Size      int64     `json:"size"`

	IsPinned    bool   `json:"isPinned"`
	Description string `json:"description"`
}

type ImageLoad

type ImageLoad struct {
	TaskID string   `json:"taskID"`
	Paths  []string `json:"paths" validate:"required,dive,required"`
}

type ImagePull

type ImagePull struct {
	TaskID    string   `json:"taskID"`
	RepoID    uint     `json:"repoID"`
	ImageName []string `json:"imageName" validate:"required"`
}

type ImagePush

type ImagePush struct {
	TaskID  string `json:"taskID"`
	RepoID  uint   `json:"repoID" validate:"required"`
	TagName string `json:"tagName" validate:"required"`
	Name    string `json:"name" validate:"required"`
}

type ImageRepoCreate

type ImageRepoCreate struct {
	Name        string `json:"name" validate:"required"`
	DownloadUrl string `json:"downloadUrl"`
	Protocol    string `json:"protocol"`
	Username    string `json:"username"`
	Password    string `json:"password"`
	Auth        bool   `json:"auth"`
}

type ImageRepoDelete

type ImageRepoDelete struct {
	Ids []uint `json:"ids" validate:"required"`
}

type ImageRepoInfo

type ImageRepoInfo struct {
	ID          uint      `json:"id"`
	CreatedAt   time.Time `json:"createdAt"`
	Name        string    `json:"name"`
	DownloadUrl string    `json:"downloadUrl"`
	Protocol    string    `json:"protocol"`
	Username    string    `json:"username"`
	Auth        bool      `json:"auth"`

	Status  string `json:"status"`
	Message string `json:"message"`
}

type ImageRepoOption

type ImageRepoOption struct {
	ID          uint   `json:"id"`
	Name        string `json:"name"`
	DownloadUrl string `json:"downloadUrl"`
}

type ImageRepoUpdate

type ImageRepoUpdate struct {
	ID          uint   `json:"id"`
	DownloadUrl string `json:"downloadUrl"`
	Protocol    string `json:"protocol"`
	Username    string `json:"username"`
	Password    string `json:"password"`
	Auth        bool   `json:"auth"`
}

type ImageSave

type ImageSave struct {
	TaskID  string `json:"taskID"`
	TagName string `json:"tagName" validate:"required"`
	Path    string `json:"path" validate:"required"`
	Name    string `json:"name" validate:"required"`
}

type ImageTag

type ImageTag struct {
	SourceID string   `json:"sourceID" validate:"required"`
	Tags     []string `json:"tags" validate:"required"`
}

type InspectReq

type InspectReq struct {
	ID     string `json:"id" validate:"required"`
	Type   string `json:"type" validate:"required"`
	Detail string `json:"detail"`
}

type InstallDetail

type InstallDetail struct {
	InstallID uint   `json:"installID"`
	DetailID  uint   `json:"detailID"`
	Name      string `json:"name"`
	Version   string `json:"version"`
	Path      string `json:"path"`
	Status    string `json:"status"`
	WebUI     string `json:"webUI"`
	HttpPort  int    `json:"httpPort"`
	HttpsPort int    `json:"httpsPort"`
}

type IptablesBatchOperate

type IptablesBatchOperate struct {
	Rules []IptablesRuleOp `json:"rules"`
}

type IptablesChainStatus

type IptablesChainStatus struct {
	IsBind          bool   `json:"isBind"`
	DefaultStrategy string `json:"defaultStrategy"`
}

type IptablesOp

type IptablesOp struct {
	Name    string `json:"name" validate:"required,oneof=1PANEL_INPUT 1PANEL_OUTPUT 1PANEL_BASIC"`
	Operate string `json:"operate" validate:"required,oneof=init-base init-forward init-advance bind-base unbind-base bind unbind"`
}

type IptablesRuleOp

type IptablesRuleOp struct {
	Operation   string `json:"operation" validate:"required,oneof=add remove"`
	ID          uint   `json:"id"`
	Chain       string `json:"chain" validate:"required,oneof=1PANEL_BASIC 1PANEL_BASIC_BEFORE 1PANEL_INPUT 1PANEL_OUTPUT"`
	Protocol    string `json:"protocol"`
	SrcIP       string `json:"srcIP"`
	SrcPort     uint   `json:"srcPort"`
	DstIP       string `json:"dstIP"`
	DstPort     uint   `json:"dstPort"`
	Strategy    string `json:"strategy" validate:"required,oneof=accept drop reject"`
	Description string `json:"description"`
}

type Ipv6Option

type Ipv6Option struct {
	FixedCidrV6  string `json:"fixedCidrV6"`
	Ip6Tables    bool   `json:"ip6Tables" validate:"required"`
	Experimental bool   `json:"experimental"`
}

type LauncherOption

type LauncherOption struct {
	Key    string `json:"key"`
	IsShow bool   `json:"isShow"`
}

type LoadRedisStatus

type LoadRedisStatus struct {
	Name string `json:"name" validate:"required"`
	Type string `json:"type" validate:"required"`
}

type LocalAppAppDefine

type LocalAppAppDefine struct {
	AppProperty AppProperty `json:"additionalProperties" yaml:"additionalProperties"`
}

type LocalAppInstallDefine

type LocalAppInstallDefine struct {
	FormFields interface{} `json:"formFields" yaml:"formFields"`
}

type LocalAppParam

type LocalAppParam struct {
	AppParams LocalAppInstallDefine `json:"additionalProperties" yaml:"additionalProperties"`
}

type Locale

type Locale struct {
	En     string `json:"en"`
	Ja     string `json:"ja"`
	Ms     string `json:"ms"`
	PtBr   string `json:"pt-br" yaml:"pt-br"`
	Ru     string `json:"ru"`
	ZhHant string `json:"zh-hant" yaml:"zh-hant"`
	Zh     string `json:"zh"`
	Ko     string `json:"ko"`
	Tr     string `json:"tr"`
	Es     string `json:"es-es" yaml:"es-es"`
}

type LogFileRes

type LogFileRes struct {
	Lines       []string `json:"lines"`
	IsEndOfFile bool     `json:"isEndOfFile"`
	TotalPages  int      `json:"totalPages"`
	TotalLines  int      `json:"totalLines"`
}

type LogOption

type LogOption struct {
	LogMaxSize string `json:"logMaxSize"`
	LogMaxFile string `json:"logMaxFile"`
}

type LsblkDevice

type LsblkDevice struct {
	Name       string        `json:"name"`
	Size       string        `json:"size"`
	Type       string        `json:"type"`
	MountPoint *string       `json:"mountpoint"`
	FsType     *string       `json:"fstype"`
	Model      *string       `json:"model"`
	Serial     string        `json:"serial"`
	Tran       string        `json:"tran"`
	Rota       bool          `json:"rota"`
	Children   []LsblkDevice `json:"children,omitempty"`
}

type LsblkOutput

type LsblkOutput struct {
	BlockDevices []LsblkDevice `json:"blockdevices"`
}

type MinioAuthParam

type MinioAuthParam struct {
	RootPassword string `json:"PANEL_MINIO_ROOT_PASSWORD"`
	RootUser     string `json:"PANEL_MINIO_ROOT_USER"`
}

type MonitorData

type MonitorData struct {
	Param string        `json:"param"`
	Date  []time.Time   `json:"date"`
	Value []interface{} `json:"value"`
}

type MonitorGPUData

type MonitorGPUData struct {
	Date             []time.Time `json:"date"`
	GPUValue         []float64   `json:"gpuValue"`
	TemperatureValue []float64   `json:"temperatureValue"`
	PowerTotal       []float64   `json:"powerTotal"`
	PowerUsed        []float64   `json:"powerUsed"`
	PowerPercent     []float64   `json:"powerPercent"`
	MemoryTotal      []float64   `json:"memoryTotal"`
	MemoryUsed       []float64   `json:"memoryUsed"`
	MemoryPercent    []float64   `json:"memoryPercent"`
	SpeedValue       []int       `json:"speedValue"`

	ProcessCount []int          `json:"processCount"`
	GPUProcesses [][]GPUProcess `json:"gpuProcesses"`
}

type MonitorGPUOptions

type MonitorGPUOptions struct {
	GPUType   string         `json:"gpuType"`
	ChartHide []GPUChartHide `json:"chartHide"`
	Options   []string       `json:"options"`
}

type MonitorGPUSearch

type MonitorGPUSearch struct {
	ProductName string    `json:"productName"`
	StartTime   time.Time `json:"startTime"`
	EndTime     time.Time `json:"endTime"`
}

type MonitorSearch

type MonitorSearch struct {
	Param     string    `json:"param" validate:"required,oneof=all cpu memory load io network"`
	IO        string    `json:"io"`
	Network   string    `json:"network"`
	StartTime time.Time `json:"startTime"`
	EndTime   time.Time `json:"endTime"`
}

type MonitorSetting

type MonitorSetting struct {
	MonitorStatus    string `json:"monitorStatus"`
	MonitorStoreDays string `json:"monitorStoreDays"`
	MonitorInterval  string `json:"monitorInterval"`
	DefaultNetwork   string `json:"defaultNetwork"`
	DefaultIO        string `json:"defaultIO"`
}

type MonitorSettingUpdate

type MonitorSettingUpdate struct {
	Key   string `json:"key" validate:"required,oneof=MonitorStatus MonitorStoreDays MonitorInterval DefaultNetwork DefaultIO"`
	Value string `json:"value"`
}

type MysqlDBCreate

type MysqlDBCreate struct {
	Name        string `json:"name" validate:"required"`
	From        string `json:"from" validate:"required,oneof=local remote"`
	Database    string `json:"database" validate:"required"`
	Format      string `json:"format" validate:"required"`
	Collation   string `json:"collation"`
	Username    string `json:"username" validate:"required"`
	Password    string `json:"password" validate:"required"`
	Permission  string `json:"permission" validate:"required"`
	Description string `json:"description"`
}

type MysqlDBDelete

type MysqlDBDelete struct {
	ID           uint   `json:"id" validate:"required"`
	Type         string `json:"type" validate:"required,oneof=mysql mariadb mysql-cluster"`
	Database     string `json:"database" validate:"required"`
	ForceDelete  bool   `json:"forceDelete"`
	DeleteBackup bool   `json:"deleteBackup"`
}

type MysqlDBDeleteCheck

type MysqlDBDeleteCheck struct {
	ID       uint   `json:"id" validate:"required"`
	Type     string `json:"type" validate:"required,oneof=mysql mariadb mysql-cluster"`
	Database string `json:"database" validate:"required"`
}

type MysqlDBInfo

type MysqlDBInfo struct {
	ID          uint      `json:"id"`
	CreatedAt   time.Time `json:"createdAt"`
	Name        string    `json:"name"`
	From        string    `json:"from"`
	MysqlName   string    `json:"mysqlName"`
	Format      string    `json:"format"`
	Collation   string    `json:"collation"`
	Username    string    `json:"username"`
	Password    string    `json:"password"`
	Permission  string    `json:"permission"`
	IsDelete    bool      `json:"isDelete"`
	Description string    `json:"description"`
}

type MysqlDBSearch

type MysqlDBSearch struct {
	PageInfo
	Info     string `json:"info"`
	Database string `json:"database" validate:"required"`
	OrderBy  string `json:"orderBy" validate:"required,oneof=name createdAt"`
	Order    string `json:"order" validate:"required,oneof=null ascending descending"`
}

mysql

type MysqlFormatCollationOption

type MysqlFormatCollationOption struct {
	Format     string   `json:"format"`
	Collations []string `json:"collations"`
}

type MysqlLoadDB

type MysqlLoadDB struct {
	From     string `json:"from" validate:"required,oneof=local remote"`
	Type     string `json:"type" validate:"required,oneof=mysql mariadb mysql-cluster"`
	Database string `json:"database" validate:"required"`
}

type MysqlOption

type MysqlOption struct {
	ID       uint   `json:"id"`
	From     string `json:"from"`
	Type     string `json:"type"`
	Database string `json:"database"`
	Name     string `json:"name"`
}

type MysqlStatus

type MysqlStatus struct {
	AbortedClients               string `json:"Aborted_clients"`
	AbortedConnects              string `json:"Aborted_connects"`
	BytesReceived                string `json:"Bytes_received"`
	BytesSent                    string `json:"Bytes_sent"`
	ComCommit                    string `json:"Com_commit"`
	ComRollback                  string `json:"Com_rollback"`
	Connections                  string `json:"Connections"`
	CreatedTmpDiskTables         string `json:"Created_tmp_disk_tables"`
	CreatedTmpTables             string `json:"Created_tmp_tables"`
	InnodbBufferPoolPagesDirty   string `json:"Innodb_buffer_pool_pages_dirty"`
	InnodbBufferPoolReadRequests string `json:"Innodb_buffer_pool_read_requests"`
	InnodbBufferPoolReads        string `json:"Innodb_buffer_pool_reads"`
	KeyReadRequests              string `json:"Key_read_requests"`
	KeyReads                     string `json:"Key_reads"`
	KeyWriteEequests             string `json:"Key_write_requests"`
	KeyWrites                    string `json:"Key_writes"`
	MaxUsedConnections           string `json:"Max_used_connections"`
	OpenTables                   string `json:"Open_tables"`
	OpenedFiles                  string `json:"Opened_files"`
	OpenedTables                 string `json:"Opened_tables"`
	QcacheHits                   string `json:"Qcache_hits"`
	QcacheInserts                string `json:"Qcache_inserts"`
	Questions                    string `json:"Questions"`
	SelectFullJoin               string `json:"Select_full_join"`
	SelectRangeCheck             string `json:"Select_range_check"`
	SortMergePasses              string `json:"Sort_merge_passes"`
	TableLocksWaited             string `json:"Table_locks_waited"`
	ThreadsCached                string `json:"Threads_cached"`
	ThreadsConnected             string `json:"Threads_connected"`
	ThreadsCreated               string `json:"Threads_created"`
	ThreadsRunning               string `json:"Threads_running"`
	Uptime                       string `json:"Uptime"`
	Run                          string `json:"Run"`
	File                         string `json:"File"`
	Position                     string `json:"Position"`
}

type MysqlVariables

type MysqlVariables struct {
	BinlogCacheSize      string `json:"binlog_cache_size"`
	InnodbBufferPoolSize string `json:"innodb_buffer_pool_size"`
	InnodbLogBufferSize  string `json:"innodb_log_buffer_size"`
	JoinBufferSize       string `json:"join_buffer_size"`
	KeyBufferSize        string `json:"key_buffer_size"`
	MaxConnections       string `json:"max_connections"`
	MaxHeapTableSize     string `json:"max_heap_table_size"`
	QueryCacheSize       string `json:"query_cache_size"`
	QueryCacheType       string `json:"query_cache_type"`
	ReadBufferSize       string `json:"read_buffer_size"`
	ReadRndBufferSize    string `json:"read_rnd_buffer_size"`
	SortBufferSize       string `json:"sort_buffer_size"`
	TableOpenCache       string `json:"table_open_cache"`
	ThreadCacheSize      string `json:"thread_cache_size"`
	ThreadStack          string `json:"thread_stack"`
	TmpTableSize         string `json:"tmp_table_size"`

	SlowQueryLog  string `json:"slow_query_log"`
	LongQueryTime string `json:"long_query_time"`
}

type MysqlVariablesUpdate

type MysqlVariablesUpdate struct {
	Type      string                       `json:"type" validate:"required,oneof=mysql mariadb mysql-cluster"`
	Database  string                       `json:"database" validate:"required"`
	Variables []MysqlVariablesUpdateHelper `json:"variables"`
}

type MysqlVariablesUpdateHelper

type MysqlVariablesUpdateHelper struct {
	Param string      `json:"param"`
	Value interface{} `json:"value"`
}

type Network

type Network struct {
	ID         string    `json:"id"`
	Name       string    `json:"name"`
	Labels     []string  `json:"labels"`
	Driver     string    `json:"driver"`
	IPAMDriver string    `json:"ipamDriver"`
	Subnet     string    `json:"subnet"`
	Gateway    string    `json:"gateway"`
	CreatedAt  time.Time `json:"createdAt"`
	Attachable bool      `json:"attachable"`
}

type NetworkCreate

type NetworkCreate struct {
	Name       string          `json:"name" validate:"required"`
	Driver     string          `json:"driver" validate:"required"`
	Options    []string        `json:"options"`
	Ipv4       bool            `json:"ipv4"`
	Subnet     string          `json:"subnet"`
	Gateway    string          `json:"gateway"`
	IPRange    string          `json:"ipRange"`
	AuxAddress []SettingUpdate `json:"auxAddress"`

	Ipv6         bool            `json:"ipv6"`
	SubnetV6     string          `json:"subnetV6"`
	GatewayV6    string          `json:"gatewayV6"`
	IPRangeV6    string          `json:"ipRangeV6"`
	AuxAddressV6 []SettingUpdate `json:"auxAddressV6"`
	Labels       []string        `json:"labels"`
}

type NginxAuth

type NginxAuth struct {
	Username string `json:"username"`
	Remark   string `json:"remark"`
}

type NginxConfig

type NginxConfig struct {
	FilePath   string
	Config     *components.Config
	OldContent string
}

type NginxFull

type NginxFull struct {
	Install    model.AppInstall
	Website    model.Website
	ConfigDir  string
	ConfigFile string
	SiteDir    string
	Dir        string
	RootConfig NginxConfig
	SiteConfig NginxConfig
}

type NginxKey

type NginxKey string
const (
	Index      NginxKey = "index"
	LimitConn  NginxKey = "limit-conn"
	SSL        NginxKey = "ssl"
	CACHE      NginxKey = "cache"
	HttpPer    NginxKey = "http-per"
	ProxyCache NginxKey = "proxy-cache"
)

type NginxModule

type NginxModule struct {
	Name     string   `json:"name"`
	Script   string   `json:"script"`
	Packages []string `json:"packages"`
	Params   string   `json:"params"`
	Enable   bool     `json:"enable"`
}

type NginxParam

type NginxParam struct {
	UpdateScope string
	Name        string
	Params      []string
}

type NginxPathAuth

type NginxPathAuth struct {
	Username string `json:"username"`
	Remark   string `json:"remark"`
	Path     string `json:"path"`
	Name     string `json:"name"`
}

type NginxUpstream

type NginxUpstream struct {
	Name      string                `json:"name"`
	Algorithm string                `json:"algorithm"`
	Servers   []NginxUpstreamServer `json:"servers"`
	Content   string                `json:"content"`
}

type NginxUpstreamServer

type NginxUpstreamServer struct {
	Server          string `json:"server"`
	Weight          int    `json:"weight"`
	FailTimeout     int    `json:"failTimeout"`
	FailTimeoutUnit string `json:"failTimeoutUnit"`
	MaxFails        int    `json:"maxFails"`
	MaxConns        int    `json:"maxConns"`
	Flag            string `json:"flag"`
}

type NodeCurrent

type NodeCurrent struct {
	Load1            float64 `json:"load1"`
	Load5            float64 `json:"load5"`
	Load15           float64 `json:"load15"`
	LoadUsagePercent float64 `json:"loadUsagePercent"`

	CPUUsedPercent     float64   `json:"cpuUsedPercent"`
	CPUUsed            float64   `json:"cpuUsed"`
	CPUTotal           int       `json:"cpuTotal"`
	CPUDetailedPercent []float64 `json:"cpuDetailedPercent"`

	MemoryTotal       uint64  `json:"memoryTotal"`
	MemoryAvailable   uint64  `json:"memoryAvailable"`
	MemoryUsed        uint64  `json:"memoryUsed"`
	MemoryUsedPercent float64 `json:"memoryUsedPercent"`

	SwapMemoryTotal       uint64  `json:"swapMemoryTotal"`
	SwapMemoryAvailable   uint64  `json:"swapMemoryAvailable"`
	SwapMemoryUsed        uint64  `json:"swapMemoryUsed"`
	SwapMemoryUsedPercent float64 `json:"swapMemoryUsedPercent"`
}

type OfflineAlertLogDTO

type OfflineAlertLogDTO struct {
	ID          uint      `json:"id"`
	Type        string    `json:"type"`
	Count       uint      `json:"count"`
	AlertId     uint      `json:"alertId"`
	AlertDetail string    `json:"alertDetail"`
	AlertRule   string    `json:"alertRule"`
	Status      string    `json:"status"`
	Method      string    `json:"method"`
	Message     string    `json:"message"`
	RecordId    uint      `json:"recordId"`
	LicenseId   string    `json:"licenseId"`
	CreatedAt   time.Time `json:"createdAt"`
	UpdatedAt   time.Time `json:"updatedAt"`
}

type OfflineAlertResponse

type OfflineAlertResponse struct {
	ID             uint             `json:"id"`
	Type           string           `json:"type"`
	RemoteErr      error            `json:"remoteErr"`
	ResponseStruct AlertResponse    `json:"responseStruct"`
	AlertLogs      []model.AlertLog `json:"alertLogs"`
	Ids            []uint           `json:"ids"`
	LicenseId      string           `json:"licenseId"`
}

type OfflineQueryRequest

type OfflineQueryRequest struct {
	Ids       []uint `json:"ids"`
	QueryIds  []uint `json:"queryIds"`
	LicenseId string `json:"licenseId"`
}

type OllamaBindDomain

type OllamaBindDomain struct {
	Domain       string `json:"domain" validate:"required"`
	AppInstallID uint   `json:"appInstallID" validate:"required"`
	SSLID        uint   `json:"sslID"`
	WebsiteID    uint   `json:"websiteID"`
	IPList       string `json:"ipList"`
}

type OllamaBindDomainReq

type OllamaBindDomainReq struct {
	AppInstallID uint `json:"appInstallID" validate:"required"`
}

type OllamaBindDomainRes

type OllamaBindDomainRes struct {
	Domain        string   `json:"domain"`
	SSLID         uint     `json:"sslID"`
	AllowIPs      []string `json:"allowIPs"`
	WebsiteID     uint     `json:"websiteID"`
	ConnUrl       string   `json:"connUrl"`
	AcmeAccountID uint     `json:"acmeAccountID"`
}

type OllamaModelDropList

type OllamaModelDropList struct {
	ID   uint   `json:"id"`
	Name string `json:"name"`
}

type OllamaModelInfo

type OllamaModelInfo struct {
	ID           uint   `json:"id"`
	Name         string `json:"name"`
	Size         string `json:"size"`
	From         string `json:"from"`
	LogFileExist bool   `json:"logFileExist"`

	Status    string    `json:"status"`
	Message   string    `json:"message"`
	CreatedAt time.Time `json:"createdAt"`
}

type OllamaModelName

type OllamaModelName struct {
	Name   string `json:"name"`
	TaskID string `json:"taskID"`
}

type Operate

type Operate struct {
	Operation string `json:"operation" validate:"required"`
}

type OperateByID

type OperateByID struct {
	ID uint `json:"id" validate:"required"`
}

type OperateByIDs

type OperateByIDs struct {
	IDs []uint `json:"ids"`
}

type OperateByType

type OperateByType struct {
	Type string `json:"type"`
}

type OperateWithTask

type OperateWithTask struct {
	TaskID string `json:"taskID"`
}

type OperationWithName

type OperationWithName struct {
	Name string `json:"name" validate:"required"`
}

type OperationWithNameAndType

type OperationWithNameAndType struct {
	Name string `json:"name"`
	Type string `json:"type" validate:"required"`
}

type Options

type Options struct {
	Option string `json:"option"`
}

type OsInfo

type OsInfo struct {
	OS             string `json:"os"`
	Platform       string `json:"platform"`
	PlatformFamily string `json:"platformFamily"`
	KernelArch     string `json:"kernelArch"`
	KernelVersion  string `json:"kernelVersion"`
	PrettyDistro   string `json:"prettyDistro"`

	DiskSize int64 `json:"diskSize"`
}

type PHPForm

type PHPForm struct {
	AdditionalProperties struct {
		FormFields []interface{} `yaml:"formFields"`
	} `yaml:"additionalProperties"`
}

type PageContainer

type PageContainer struct {
	PageInfo
	Name            string `json:"name"`
	State           string `json:"state" validate:"required,oneof=all created running paused restarting removing exited dead"`
	OrderBy         string `json:"orderBy" validate:"required,oneof=name createdAt state"`
	Order           string `json:"order" validate:"required,oneof=null ascending descending"`
	Filters         string `json:"filters"`
	ExcludeAppStore bool   `json:"excludeAppStore"`
}

type PageCronjob

type PageCronjob struct {
	PageInfo
	Info     string `json:"info"`
	GroupIDs []uint `json:"groupIDs"`
	OrderBy  string `json:"orderBy" validate:"required,oneof=name status createdAt"`
	Order    string `json:"order" validate:"required,oneof=null ascending descending"`
}

type PageImage

type PageImage struct {
	PageInfo
	Name    string `json:"name"`
	OrderBy string `json:"orderBy" validate:"required,oneof=size tags createdAt isUsed"`
	Order   string `json:"order" validate:"required,oneof=null ascending descending"`
}

type PageInfo

type PageInfo struct {
	Page     int `json:"page" validate:"required,number"`
	PageSize int `json:"pageSize" validate:"required,number"`
}

type PageResult

type PageResult struct {
	Total int64       `json:"total"`
	Items interface{} `json:"items"`
}

type PageSnapshot

type PageSnapshot struct {
	PageInfo
	Info    string `json:"info"`
	OrderBy string `json:"orderBy" validate:"required,oneof=name createdAt"`
	Order   string `json:"order" validate:"required,oneof=null ascending descending"`
}

type Param

type Param struct {
	Index string `json:"index"`
	Key   string `json:"key"`
	Value string `json:"value"`
}

type PortHelper

type PortHelper struct {
	HostIP        string `json:"hostIP"`
	HostPort      string `json:"hostPort"`
	ContainerPort string `json:"containerPort"`
	Protocol      string `json:"protocol"`
}

type PortRuleOperate

type PortRuleOperate struct {
	ID        uint   `json:"id"`
	Operation string `json:"operation" validate:"required,oneof=add remove"`
	Chain     string `json:"chain"`
	Address   string `json:"address"`
	Port      string `json:"port" validate:"required"`
	Protocol  string `json:"protocol" validate:"required,oneof=tcp udp tcp/udp"`
	Strategy  string `json:"strategy" validate:"required,oneof=accept drop"`

	Description string `json:"description"`
}

type PortRuleUpdate

type PortRuleUpdate struct {
	OldRule PortRuleOperate `json:"oldRule"`
	NewRule PortRuleOperate `json:"newRule"`
}

type PostgresqlBindUser

type PostgresqlBindUser struct {
	Name      string `json:"name" validate:"required"`
	Database  string `json:"database" validate:"required"`
	Username  string `json:"username" validate:"required"`
	Password  string `json:"password" validate:"required"`
	SuperUser bool   `json:"superUser"`
}

type PostgresqlDBCreate

type PostgresqlDBCreate struct {
	Name        string `json:"name" validate:"required"`
	From        string `json:"from" validate:"required,oneof=local remote"`
	Database    string `json:"database" validate:"required"`
	Format      string `json:"format"`
	Username    string `json:"username" validate:"required"`
	Password    string `json:"password" validate:"required"`
	SuperUser   bool   `json:"superUser"`
	Description string `json:"description"`
}

type PostgresqlDBDelete

type PostgresqlDBDelete struct {
	ID           uint   `json:"id" validate:"required"`
	Type         string `json:"type" validate:"required,oneof=postgresql postgresql-cluster"`
	Database     string `json:"database" validate:"required"`
	ForceDelete  bool   `json:"forceDelete"`
	DeleteBackup bool   `json:"deleteBackup"`
}

type PostgresqlDBDeleteCheck

type PostgresqlDBDeleteCheck struct {
	ID       uint   `json:"id" validate:"required"`
	Type     string `json:"type" validate:"required,oneof=postgresql postgresql-cluster"`
	Database string `json:"database" validate:"required"`
}

type PostgresqlDBInfo

type PostgresqlDBInfo struct {
	ID             uint      `json:"id"`
	CreatedAt      time.Time `json:"createdAt"`
	Name           string    `json:"name"`
	From           string    `json:"from"`
	PostgresqlName string    `json:"postgresqlName"`
	Format         string    `json:"format"`
	Username       string    `json:"username"`
	Password       string    `json:"password"`
	SuperUser      bool      `json:"superUser"`
	IsDelete       bool      `json:"isDelete"`
	Description    string    `json:"description"`
}

type PostgresqlDBSearch

type PostgresqlDBSearch struct {
	PageInfo
	Info     string `json:"info"`
	Database string `json:"database" validate:"required"`
	OrderBy  string `json:"orderBy" validate:"required,oneof=name createdAt"`
	Order    string `json:"order" validate:"required,oneof=null ascending descending"`
}

type PostgresqlLoadDB

type PostgresqlLoadDB struct {
	From     string `json:"from" validate:"required,oneof=local remote"`
	Type     string `json:"type" validate:"required,oneof=postgresql postgresql-cluster"`
	Database string `json:"database" validate:"required"`
}

type PostgresqlOption

type PostgresqlOption struct {
	ID       uint   `json:"id"`
	From     string `json:"from"`
	Type     string `json:"type"`
	Database string `json:"database"`
	Name     string `json:"name"`
}

type PostgresqlPrivileges

type PostgresqlPrivileges struct {
	Name      string `json:"name" validate:"required"`
	Database  string `json:"database" validate:"required"`
	Username  string `json:"username" validate:"required"`
	SuperUser bool   `json:"superUser"`
}

type Process

type Process struct {
	Name    string  `json:"name"`
	Pid     int32   `json:"pid"`
	Percent float64 `json:"percent"`
	Memory  uint64  `json:"memory"`
	Cmd     string  `json:"cmd"`
	User    string  `json:"user"`
}

type ProviderInfo

type ProviderInfo struct {
	Sort        uint                `json:"-"`
	Provider    string              `json:"provider"`
	DisplayName string              `json:"displayName"`
	BaseURL     string              `json:"baseUrl"`
	Models      []ProviderModelInfo `json:"models"`
}

type ProviderModelInfo

type ProviderModelInfo struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

type PushAlert

type PushAlert struct {
	TaskName  string `json:"taskName"`
	AlertType string `json:"alertType"`
	EntryID   uint   `json:"entryID"`
	Param     string `json:"param"`
}

type PushResult

type PushResult struct {
	RecordId  uint   `json:"recordId"`
	LicenseId string `json:"licenseId"`
}

type QueryRequest

type QueryRequest struct {
	QueryIds  []uint `json:"queryIds"`
	LicenseId string `json:"licenseId"`
}

type QuickJump

type QuickJump struct {
	ID        uint   `json:"id"`
	Name      string `json:"name"`
	Alias     string `json:"alias"`
	Title     string `json:"title"`
	Detail    string `json:"detail"`
	Recommend int    `json:"recommend"`
	IsShow    bool   `json:"isShow"`
	Router    string `json:"router"`
}

type Record

type Record struct {
	ID         uint   `json:"id"`
	TaskID     string `json:"taskID"`
	StartTime  string `json:"startTime"`
	Records    string `json:"records"`
	Status     string `json:"status"`
	Message    string `json:"message"`
	TargetPath string `json:"targetPath"`
	Interval   int    `json:"interval"`
	File       string `json:"file"`
}

type RecordFileSize

type RecordFileSize struct {
	ID   uint   `json:"id"`
	Name string `json:"name"`
	Size int64  `json:"size"`
}

type RecordSearch

type RecordSearch struct {
	PageInfo
	Type       string `json:"type" validate:"required"`
	Name       string `json:"name"`
	DetailName string `json:"detailName"`
}

type RecordSearchByCronjob

type RecordSearchByCronjob struct {
	PageInfo
	CronjobID uint `json:"cronjobID" validate:"required"`
}

type RedisAuthParam

type RedisAuthParam struct {
	RootPassword string `json:"PANEL_REDIS_ROOT_PASSWORD"`
}

type RedisBackupRecover

type RedisBackupRecover struct {
	Database string `json:"database" validate:"required"`
	FileName string `json:"fileName"`
	FileDir  string `json:"fileDir"`
}

type RedisCommand

type RedisCommand struct {
	ID      uint   `json:"id"`
	Name    string `json:"name"`
	Command string `json:"command"`
}

type RedisConf

type RedisConf struct {
	Database      string `json:"database" validate:"required"`
	Name          string `json:"name"`
	Port          int64  `json:"port"`
	ContainerName string `json:"containerName"`
	Timeout       string `json:"timeout"`
	Maxclients    string `json:"maxclients"`
	Requirepass   string `json:"requirepass"`
	Maxmemory     string `json:"maxmemory"`
}

type RedisConfPersistenceUpdate

type RedisConfPersistenceUpdate struct {
	Database    string `json:"database" validate:"required"`
	Type        string `json:"type" validate:"required,oneof=aof rbd"`
	Appendonly  string `json:"appendonly"`
	Appendfsync string `json:"appendfsync"`
	Save        string `json:"save"`
	DBType      string `json:"dbType" validate:"required,oneof=redis redis-cluster"`
}

type RedisConfUpdate

type RedisConfUpdate struct {
	Database   string `json:"database" validate:"required"`
	Timeout    string `json:"timeout"`
	Maxclients string `json:"maxclients"`
	Maxmemory  string `json:"maxmemory"`
	DBType     string `json:"dbType" validate:"required,oneof=redis redis-cluster"`
}

type RedisPersistence

type RedisPersistence struct {
	Database    string `json:"database" validate:"required"`
	Appendonly  string `json:"appendonly"`
	Appendfsync string `json:"appendfsync"`
	Save        string `json:"save"`
}

type RedisStatus

type RedisStatus struct {
	Database                 string `json:"database" validate:"required"`
	TcpPort                  string `json:"tcp_port"`
	UptimeInDays             string `json:"uptime_in_days"`
	ConnectedClients         string `json:"connected_clients"`
	UsedMemory               string `json:"used_memory"`
	UsedMemoryRss            string `json:"used_memory_rss"`
	UsedMemoryPeak           string `json:"used_memory_peak"`
	MemFragmentationRatio    string `json:"mem_fragmentation_ratio"`
	TotalConnectionsReceived string `json:"total_connections_received"`
	TotalCommandsProcessed   string `json:"total_commands_processed"`
	InstantaneousOpsPerSec   string `json:"instantaneous_ops_per_sec"`
	KeyspaceHits             string `json:"keyspace_hits"`
	KeyspaceMisses           string `json:"keyspace_misses"`
	LatestForkUsec           string `json:"latest_fork_usec"`
}

type ResourceLimit

type ResourceLimit struct {
	CPU    int    `json:"cpu"`
	Memory uint64 `json:"memory"`
}

type Response

type Response struct {
	Code    int         `json:"code"`
	Message string      `json:"message"`
	Data    interface{} `json:"data"`
}

type RootCert

type RootCert struct {
	ID             uint      `json:"id"`
	CreatedAt      time.Time `json:"createdAt"`
	Name           string    `json:"name"`
	EncryptionMode string    `json:"encryptionMode"`
	PassPhrase     string    `json:"passPhrase"`
	PublicKey      string    `json:"publicKey"`
	PrivateKey     string    `json:"privateKey"`
	Description    string    `json:"description"`
}

type RootCertOperate

type RootCertOperate struct {
	ID             uint   `json:"id"`
	Name           string `json:"name"`
	Mode           string `json:"mode"`
	EncryptionMode string `json:"encryptionMode" validate:"required,oneof=rsa ed25519 ecdsa dsa"`
	PassPhrase     string `json:"passPhrase"`
	PublicKey      string `json:"publicKey"`
	PrivateKey     string `json:"privateKey"`
	Description    string `json:"description"`
}

type RuleSearch

type RuleSearch struct {
	PageInfo
	Info     string `json:"info"`
	Status   string `json:"status"`
	Strategy string `json:"strategy"`
	Type     string `json:"type" validate:"required"`
}

type SSHConf

type SSHConf struct {
	File string `json:"file"`
}

type SSHConnData

type SSHConnData struct {
	Addr       string `json:"addr" validate:"required"`
	Port       uint   `json:"port" validate:"required,number,max=65535,min=1"`
	User       string `json:"user" validate:"required"`
	AuthMode   string `json:"authMode" validate:"oneof=password key"`
	Password   string `json:"password"`
	PrivateKey string `json:"privateKey"`
	PassPhrase string `json:"passPhrase"`

	LocalSSHConnShow string `json:"localSSHConnShow"`
}

type SSHDefaultConn

type SSHDefaultConn struct {
	WithReset   bool   `json:"withReset"`
	DefaultConn string `json:"defaultConn"`
}

type SSHHistory

type SSHHistory struct {
	Date     time.Time `json:"date"`
	DateStr  string    `json:"dateStr"`
	Area     string    `json:"area"`
	User     string    `json:"user"`
	AuthMode string    `json:"authMode"`
	Address  string    `json:"address"`
	Port     string    `json:"port"`
	Status   string    `json:"status"`
	Message  string    `json:"message"`
}

type SSHInfo

type SSHInfo struct {
	AutoStart              bool   `json:"autoStart"`
	IsExist                bool   `json:"isExist"`
	IsActive               bool   `json:"isActive"`
	Message                string `json:"message"`
	Port                   string `json:"port"`
	ListenAddress          string `json:"listenAddress"`
	PasswordAuthentication string `json:"passwordAuthentication"`
	PubkeyAuthentication   string `json:"pubkeyAuthentication"`
	PermitRootLogin        string `json:"permitRootLogin"`
	UseDNS                 string `json:"useDNS"`
	CurrentUser            string `json:"currentUser"`
}

type SSHUpdate

type SSHUpdate struct {
	Key      string `json:"key" validate:"required"`
	OldValue string `json:"oldValue"`
	NewValue string `json:"newValue"`
}

type ScriptOptions

type ScriptOptions struct {
	ID   uint   `json:"id"`
	Name string `json:"name"`
}

type SearchByFilter

type SearchByFilter struct {
	Filter string `json:"filter"`
}

type SearchClamWithPage

type SearchClamWithPage struct {
	PageInfo
	Info    string `json:"info"`
	OrderBy string `json:"orderBy" validate:"required,oneof=name status createdAt"`
	Order   string `json:"order" validate:"required,oneof=null ascending descending"`
}

type SearchCommandWithPage

type SearchCommandWithPage struct {
	PageInfo
	OrderBy string `json:"orderBy" validate:"required,oneof=name command createdAt"`
	Order   string `json:"order" validate:"required,oneof=null ascending descending"`
	GroupID uint   `json:"groupID"`
	Info    string `json:"info"`
	Name    string `json:"name"`
}

type SearchForSize

type SearchForSize struct {
	PageInfo
	Type       string `json:"type" validate:"required"`
	Name       string `json:"name"`
	DetailName string `json:"detailName"`
	Info       string `json:"info"`
	CronjobID  uint   `json:"cronjobID"`
	OrderBy    string `json:"orderBy"`
	Order      string `json:"order"`
}

type SearchPageWithType

type SearchPageWithType struct {
	PageInfo
	Info string `json:"info"`
	Type string `json:"type"`
}

type SearchRecord

type SearchRecord struct {
	PageInfo
	CronjobID int       `json:"cronjobID"`
	StartTime time.Time `json:"startTime"`
	EndTime   time.Time `json:"endTime"`
	Status    string    `json:"status"`
}

type SearchSSHLog

type SearchSSHLog struct {
	PageInfo
	Info   string `json:"info"`
	Status string `json:"Status" validate:"required,oneof=Success Failed All"`
}

type SearchTaskLogReq

type SearchTaskLogReq struct {
	Status string `json:"status"`
	Type   string `json:"type"`
	PageInfo
}

type SearchWithPage

type SearchWithPage struct {
	PageInfo
	Info string `json:"info"`
}

type SettingInfo

type SettingInfo struct {
	DockerSockPath string `json:"dockerSockPath"`
	SystemVersion  string `json:"systemVersion"`
	SystemIP       string `json:"systemIP"`

	LocalTime string `json:"localTime"`
	TimeZone  string `json:"timeZone"`
	NtpSite   string `json:"ntpSite"`

	DefaultNetwork string `json:"defaultNetwork"`
	DefaultIO      string `json:"defaultIO"`
	LastCleanTime  string `json:"lastCleanTime"`
	LastCleanSize  string `json:"lastCleanSize"`
	LastCleanData  string `json:"lastCleanData"`

	MonitorStatus    string `json:"monitorStatus"`
	MonitorInterval  string `json:"monitorInterval"`
	MonitorStoreDays string `json:"monitorStoreDays"`

	AppStoreVersion      string `json:"appStoreVersion"`
	AppStoreLastModified string `json:"appStoreLastModified"`
	AppStoreSyncStatus   string `json:"appStoreSyncStatus"`

	FileRecycleBin string `json:"fileRecycleBin"`
}

type SettingUpdate

type SettingUpdate struct {
	Key   string `json:"key" validate:"required"`
	Value string `json:"value"`
}

type SnapshotBatchDelete

type SnapshotBatchDelete struct {
	DeleteWithFile bool   `json:"deleteWithFile"`
	Ids            []uint `json:"ids" validate:"required"`
}

type SnapshotCreate

type SnapshotCreate struct {
	ID                uint   `json:"id"`
	Name              string `json:"name"`
	TaskID            string `json:"taskID"`
	SourceAccountIDs  string `json:"sourceAccountIDs" validate:"required"`
	DownloadAccountID uint   `json:"downloadAccountID" validate:"required"`
	Description       string `json:"description" validate:"max=256"`
	Secret            string `json:"secret"`
	InterruptStep     string `json:"interruptStep"`
	Timeout           uint   `json:"timeout"`

	AppData    []DataTree `json:"appData"`
	BackupData []DataTree `json:"backupData"`
	PanelData  []DataTree `json:"panelData"`

	WithDockerConf   bool `json:"withDockerConf"`
	WithMonitorData  bool `json:"withMonitorData"`
	WithLoginLog     bool `json:"withLoginLog"`
	WithOperationLog bool `json:"withOperationLog"`
	WithSystemLog    bool `json:"withSystemLog"`
	WithTaskLog      bool `json:"withTaskLog"`

	IgnoreFiles []string `json:"ignoreFiles"`
}

type SnapshotData

type SnapshotData struct {
	AppData    []DataTree `json:"appData"`
	BackupData []DataTree `json:"backupData"`
	PanelData  []DataTree `json:"panelData"`

	WithDockerConf   bool     `json:"withDockerConf"`
	WithMonitorData  bool     `json:"withMonitorData"`
	WithLoginLog     bool     `json:"withLoginLog"`
	WithOperationLog bool     `json:"withOperationLog"`
	WithSystemLog    bool     `json:"withSystemLog"`
	WithTaskLog      bool     `json:"withTaskLog"`
	IgnoreFiles      []string `json:"ignoreFiles"`
}

type SnapshotImport

type SnapshotImport struct {
	BackupAccountID uint     `json:"backupAccountID"`
	Names           []string `json:"names"`
	Description     string   `json:"description" validate:"max=256"`
}

type SnapshotInfo

type SnapshotInfo struct {
	ID              uint      `json:"id"`
	Name            string    `json:"name"`
	Description     string    `json:"description" validate:"max=256"`
	SourceAccounts  []string  `json:"sourceAccounts"`
	DownloadAccount string    `json:"downloadAccount"`
	Status          string    `json:"status"`
	Message         string    `json:"message"`
	CreatedAt       time.Time `json:"createdAt"`
	Version         string    `json:"version"`
	Size            int64     `json:"size"`

	TaskID         string `json:"taskID"`
	TaskRecoverID  string `json:"taskRecoverID"`
	TaskRollbackID string `json:"taskRollbackID"`

	InterruptStep    string `json:"interruptStep"`
	RecoverStatus    string `json:"recoverStatus"`
	RecoverMessage   string `json:"recoverMessage"`
	LastRecoveredAt  string `json:"lastRecoveredAt"`
	RollbackStatus   string `json:"rollbackStatus"`
	RollbackMessage  string `json:"rollbackMessage"`
	LastRollbackedAt string `json:"lastRollbackedAt"`
}

type SnapshotRecover

type SnapshotRecover struct {
	IsNew      bool   `json:"isNew"`
	ReDownload bool   `json:"reDownload"`
	ID         uint   `json:"id" validate:"required"`
	TaskID     string `json:"taskID"`
	Secret     string `json:"secret"`
}

type SnapshotRule

type SnapshotRule struct {
	WithImage    bool   `json:"withImage"`
	IgnoreAppIDs []uint `json:"ignoreAppIDs"`
}

type SnapshotTransHelper

type SnapshotTransHelper struct {
	WithImage  bool          `json:"withImage"`
	IgnoreApps []TransHelper `json:"ignoreApps"`
}

type StreamLog

type StreamLog struct {
	Compose   string
	Container string
	Since     string
	Follow    bool
	Tail      string
	Timestamp bool
	Type      string
}

type SwapHelper

type SwapHelper struct {
	Path string `json:"path" validate:"required"`
	Size uint64 `json:"size"`
	Used string `json:"used"`

	IsNew  bool   `json:"isNew"`
	TaskID string `json:"taskID"`
}

type SyncFromMaster

type SyncFromMaster struct {
	Name      string `json:"name" validate:"required"`
	Operation string `json:"operation" validate:"required,oneof=create delete update"`
	Data      string `json:"data"`
}

type SyncOfflineAlertLogDTO

type SyncOfflineAlertLogDTO struct {
	QueryRequest string           `json:"queryRequest"`
	Ids          []uint           `json:"ids"`
	AlertLogs    []model.AlertLog `json:"alertLogs"`
	LicenseId    string           `json:"licenseId"`
}

type SyncResult

type SyncResult struct {
	ID          uint   `json:"id"`
	LicenseID   string `json:"licenseId"`
	SendStatus  string `json:"sendStatus"`
	CreateTime  string `json:"createTime"`
	UpdateTime  string `json:"updateTime"`
	Remarks     string `json:"remarks"`
	MsgCount    int    `json:"msgCount"`
	MsgCountMax int    `json:"msgCountMax"`
}

type SyncTime

type SyncTime struct {
	NtpSite string `json:"ntpSite" validate:"required"`
}

type SystemProxy

type SystemProxy struct {
	Type     string `json:"type"`
	URL      string `json:"url"`
	Port     string `json:"port"`
	User     string `json:"user"`
	Password string `json:"password"`
}

type Tag

type Tag struct {
	Key     string `json:"key"`
	Name    string `json:"name"`
	Sort    int    `json:"sort"`
	Locales Locale `json:"locales"`
}

type TaskDTO

type TaskDTO struct {
	model.Task
}

type TimeZoneOptions

type TimeZoneOptions struct {
	From  string   `json:"from"`
	Zones []string `json:"zones"`
}

type TransHelper

type TransHelper struct {
	Name       string `json:"name"`
	DetailName string `json:"detailName"`
}

type UpdateByFile

type UpdateByFile struct {
	File string `json:"file"`
}

type UpdateByNameAndFile

type UpdateByNameAndFile struct {
	Name string `json:"name"`
	File string `json:"file"`
}

type UpdateDescription

type UpdateDescription struct {
	ID          uint   `json:"id" validate:"required"`
	Description string `json:"description" validate:"max=256"`
}

type UpdateFirewallDescription

type UpdateFirewallDescription struct {
	Type     string `json:"type"`
	Chain    string `json:"chain"`
	SrcIP    string `json:"srcIP"`
	DstIP    string `json:"dstIP"`
	SrcPort  string `json:"srcPort"`
	DstPort  string `json:"dstPort"`
	Protocol string `json:"protocol"`
	Strategy string `json:"strategy" validate:"required,oneof=accept drop"`

	Description string `json:"description"`
}

type UpdateGroup

type UpdateGroup struct {
	Group    uint `json:"group"`
	NewGroup uint `json:"newGroup"`
}

type UpdateOfflineAlertLog

type UpdateOfflineAlertLog struct {
	ID        uint   `json:"id"`
	Status    string `json:"status"`
	Message   string `json:"message"`
	RecordId  uint   `json:"recordId"`
	LicenseId string `json:"licenseId"`
}

type UpgradeInfo

type UpgradeInfo struct {
	TestVersion   string `json:"testVersion"`
	NewVersion    string `json:"newVersion"`
	LatestVersion string `json:"latestVersion"`
	ReleaseNote   string `json:"releaseNote"`
}

type UploadForRecover

type UploadForRecover struct {
	FilePath  string `json:"filePath"`
	TargetDir string `json:"targetDir"`
}

type Volume

type Volume struct {
	Name       string         `json:"name"`
	Labels     []VolumeOption `json:"labels"`
	Driver     string         `json:"driver"`
	Mountpoint string         `json:"mountpoint"`
	CreatedAt  time.Time      `json:"createdAt"`
	Options    []VolumeOption `json:"options"`
}

type VolumeCreate

type VolumeCreate struct {
	Name    string   `json:"name" validate:"required"`
	Driver  string   `json:"driver" validate:"required"`
	Options []string `json:"options"`
	Labels  []string `json:"labels"`
}

type VolumeHelper

type VolumeHelper struct {
	Type         string `json:"type"`
	SourceDir    string `json:"sourceDir"`
	ContainerDir string `json:"containerDir"`
	Mode         string `json:"mode"`
	Shared       string `json:"shared"`
}

type VolumeOption

type VolumeOption struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type XPUInfo

type XPUInfo struct {
	DeviceID    int    `json:"deviceID"`
	DeviceName  string `json:"deviceName"`
	Memory      string `json:"memory"`
	Temperature string `json:"temperature"`
	MemoryUsed  string `json:"memoryUsed"`
	Power       string `json:"power"`
	MemoryUtil  string `json:"memoryUtil"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL