2021-09-26 02:35:02 +00:00
|
|
|
package model
|
|
|
|
|
|
|
|
import (
|
|
|
|
"database/sql/driver"
|
|
|
|
"encoding/json"
|
|
|
|
)
|
|
|
|
|
|
|
|
type TcpPorts struct {
|
|
|
|
Desc string `json:"desc"`
|
|
|
|
ContainerPort int `json:"container_port"`
|
|
|
|
}
|
|
|
|
type UdpPorts struct {
|
|
|
|
Desc string `json:"desc"`
|
|
|
|
ContainerPort int `json:"container_port"`
|
|
|
|
}
|
|
|
|
|
|
|
|
/*******************使用gorm支持json************************************/
|
|
|
|
|
|
|
|
type PortMap struct {
|
2021-11-03 09:07:46 +00:00
|
|
|
ContainerPort string `json:"container"`
|
|
|
|
CommendPort string `json:"host"`
|
2021-09-26 02:35:02 +00:00
|
|
|
Protocol string `json:"protocol"`
|
2021-11-03 09:07:46 +00:00
|
|
|
Desc string `json:"desc"`
|
|
|
|
Type int `json:"type"`
|
2021-09-26 02:35:02 +00:00
|
|
|
}
|
|
|
|
|
2021-11-03 09:07:46 +00:00
|
|
|
type PortArray []PortMap
|
2021-09-26 02:35:02 +00:00
|
|
|
|
|
|
|
// Value 实现方法
|
2021-11-03 09:07:46 +00:00
|
|
|
func (p PortArray) Value() (driver.Value, error) {
|
2021-09-26 02:35:02 +00:00
|
|
|
return json.Marshal(p)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Scan 实现方法
|
2021-11-03 09:07:46 +00:00
|
|
|
func (p *PortArray) Scan(input interface{}) error {
|
2021-09-26 02:35:02 +00:00
|
|
|
return json.Unmarshal(input.([]byte), p)
|
|
|
|
}
|
|
|
|
|
|
|
|
/************************************************************************/
|
|
|
|
|
|
|
|
/*******************使用gorm支持json************************************/
|
|
|
|
|
|
|
|
type Env struct {
|
|
|
|
Name string `json:"container"`
|
|
|
|
Value string `json:"host"`
|
2021-11-03 09:07:46 +00:00
|
|
|
Desc string `json:"desc"`
|
|
|
|
Type int `json:"type"`
|
2021-09-26 02:35:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type JSON json.RawMessage
|
|
|
|
|
2021-11-03 09:07:46 +00:00
|
|
|
type EnvArray []Env
|
2021-09-26 02:35:02 +00:00
|
|
|
|
|
|
|
// Value 实现方法
|
2021-11-03 09:07:46 +00:00
|
|
|
func (p EnvArray) Value() (driver.Value, error) {
|
2021-09-26 02:35:02 +00:00
|
|
|
return json.Marshal(p)
|
|
|
|
//return .MarshalJSON()
|
|
|
|
}
|
|
|
|
|
|
|
|
// Scan 实现方法
|
2021-11-03 09:07:46 +00:00
|
|
|
func (p *EnvArray) Scan(input interface{}) error {
|
2021-09-26 02:35:02 +00:00
|
|
|
return json.Unmarshal(input.([]byte), p)
|
|
|
|
}
|
|
|
|
|
|
|
|
/************************************************************************/
|
|
|
|
|
|
|
|
/*******************使用gorm支持json************************************/
|
|
|
|
|
|
|
|
type PathMap struct {
|
|
|
|
ContainerPath string `json:"container"`
|
|
|
|
Path string `json:"host"`
|
2021-11-03 09:07:46 +00:00
|
|
|
Type int `json:"type"`
|
|
|
|
Desc string `json:"desc"`
|
2021-09-26 02:35:02 +00:00
|
|
|
}
|
|
|
|
|
2021-11-03 09:07:46 +00:00
|
|
|
type PathArray []PathMap
|
2021-09-26 02:35:02 +00:00
|
|
|
|
|
|
|
// Value 实现方法
|
2021-11-03 09:07:46 +00:00
|
|
|
func (p PathArray) Value() (driver.Value, error) {
|
2021-09-26 02:35:02 +00:00
|
|
|
return json.Marshal(p)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Scan 实现方法
|
2021-11-03 09:07:46 +00:00
|
|
|
func (p *PathArray) Scan(input interface{}) error {
|
2021-09-26 02:35:02 +00:00
|
|
|
return json.Unmarshal(input.([]byte), p)
|
|
|
|
}
|
|
|
|
|
|
|
|
/************************************************************************/
|
|
|
|
|
|
|
|
//type PostData struct {
|
|
|
|
// Envs EnvArrey `json:"envs,omitempty"`
|
|
|
|
// Udp PortArrey `json:"udp_ports"`
|
|
|
|
// Tcp PortArrey `json:"tcp_ports"`
|
|
|
|
// Volumes PathArrey `json:"volumes"`
|
|
|
|
// Devices PathArrey `json:"devices"`
|
|
|
|
// Port string `json:"port,omitempty"`
|
|
|
|
// PortMap string `json:"port_map"`
|
|
|
|
// CpuShares int64 `json:"cpu_shares,omitempty"`
|
|
|
|
// Memory int64 `json:"memory,omitempty"`
|
|
|
|
// Restart string `json:"restart,omitempty"`
|
|
|
|
// EnableUPNP bool `json:"enable_upnp"`
|
|
|
|
// Label string `json:"label"`
|
|
|
|
// Position bool `json:"position"`
|
|
|
|
//}
|
|
|
|
|
|
|
|
type CustomizationPostData struct {
|
|
|
|
Origin string `json:"origin"`
|
|
|
|
NetworkModel string `json:"network_model"`
|
|
|
|
Index string `json:"index"`
|
|
|
|
Icon string `json:"icon"`
|
|
|
|
Image string `json:"image"`
|
2021-11-03 09:07:46 +00:00
|
|
|
Envs EnvArray `json:"envs"`
|
|
|
|
Ports PortArray `json:"ports"`
|
|
|
|
Volumes PathArray `json:"volumes"`
|
|
|
|
Devices PathArray `json:"devices"`
|
2021-09-26 02:35:02 +00:00
|
|
|
//Port string `json:"port,omitempty"`
|
2022-02-17 10:43:25 +00:00
|
|
|
PortMap string `json:"port_map"`
|
|
|
|
CpuShares int64 `json:"cpu_shares"`
|
|
|
|
Memory int64 `json:"memory"`
|
|
|
|
Restart string `json:"restart"`
|
|
|
|
EnableUPNP bool `json:"enable_upnp"`
|
|
|
|
Label string `json:"label"`
|
|
|
|
Description string `json:"description"`
|
|
|
|
Position bool `json:"position"`
|
|
|
|
HostName string `json:"host_name"`
|
|
|
|
Privileged bool `json:"privileged"`
|
|
|
|
CapAdd []string `json:"cap_add"`
|
|
|
|
Cmd []string `json:"cmd"`
|
2021-09-26 02:35:02 +00:00
|
|
|
}
|