Documentation ¶
Overview ¶
* @Author: link a624669980@163.com * @Date: 2022-05-16 17:37:08 * @LastEditors: LinkLeong * @LastEditTime: 2022-07-13 10:46:38 * @FilePath: /CasaOS/model/category.go * @Description:
* @Author: LinkLeong link@icewhale.org * @Date: 2022-07-27 10:30:43 * @LastEditors: LinkLeong * @LastEditTime: 2022-08-04 20:06:04 * @FilePath: /CasaOS/model/connections.go * @Description: * @Website: https://www.casaos.io * Copyright (c) 2022 by icewhale, All Rights Reserved.
* @Author: LinkLeong link@icewhale.com * @Date: 2021-12-08 18:10:25 * @LastEditors: LinkLeong * @LastEditTime: 2022-07-13 10:49:16 * @FilePath: /CasaOS/model/docker.go * @Description: * @Website: https://www.casaos.io * Copyright (c) 2022 by icewhale, All Rights Reserved.
* @Author: LinkLeong link@icewhale.com * @Date: 2022-05-20 16:27:12 * @LastEditors: LinkLeong * @LastEditTime: 2022-06-09 18:18:46 * @FilePath: /CasaOS/model/file.go * @Description: * @Website: https://www.casaos.io * Copyright (c) 2022 by icewhale, All Rights Reserved.
* @Author: LinkLeong link@icewhale.org * @Date: 2022-07-26 11:12:12 * @LastEditors: LinkLeong * @LastEditTime: 2022-07-27 14:58:55 * @FilePath: /CasaOS/model/share.go * @Description: * @Website: https://www.casaos.io * Copyright (c) 2022 by icewhale, All Rights Reserved.
* @Author: LinkLeong link@icewhale.com * @Date: 2022-05-13 18:15:46 * @LastEditors: LinkLeong * @LastEditTime: 2022-09-02 22:12:34 * @FilePath: /CasaOS/model/sys_common.go * @Description: * @Website: https://www.casaos.io * Copyright (c) 2022 by icewhale, All Rights Reserved.
* @Author: LinkLeong link@icewhale.org * @Date: 2022-05-13 18:15:46 * @LastEditors: LinkLeong * @LastEditTime: 2022-08-01 18:32:57 * @FilePath: /CasaOS/model/zima.go * @Description: * @Website: https://www.casaos.io * Copyright (c) 2022 by icewhale, All Rights Reserved.
Index ¶
- type APPModel
- type CasaOSGlobalVariables
- type CasaOSHeart
- type CategoryList
- type CommonModel
- type Connections
- type CustomizationPostData
- type Devices
- type DockerDaemonConfigurationModel
- type DockerStatsModel
- type Env
- type EnvArray
- type Envs
- type FileItem
- type FileOperate
- type FileSetting
- type FileUpdate
- type GoDaddyModel
- type IOCountersStat
- type JSON
- type MapStrings
- type NotifyMssage
- type Path
- type PathArray
- type PathMap
- type PortArray
- type PortMap
- type Ports
- type RedisModel
- type Result
- type SearchFileInfo
- type ServerAppList
- type ServerAppListCollection
- type ServerCategoryList
- type ServerModel
- type Shares
- type SmartctlA
- type Strings
- type SysInfoModel
- type SystemConfig
- type TcpPorts
- type UdpPorts
- type UserInfo
- type Version
- type Volume
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APPModel ¶
type APPModel struct { LogPath string LogSaveName string LogFileExt string DateStrFormat string DateTimeFormat string UserDataPath string TimeFormat string DateFormat string DBPath string ShellPath string }
服务配置
type CasaOSGlobalVariables ¶ added in v0.2.3
type CasaOSGlobalVariables struct {
AppChange bool
}
type CasaOSHeart ¶ added in v0.2.9
type CategoryList ¶ added in v0.3.3
type CategoryList struct { Id uint `gorm:"column:id;primary_key" json:"id"` //CreatedAt time.Time `json:"created_at"` // //UpdatedAt time.Time `json:"updated_at"` Font string `json:"font"` // @tiger - 如果这个和前端有关,应该不属于后端的出参范围,而是前端去界定 Name string `json:"name"` Count uint `json:"count"` // @tiger - count 属于动态信息,应该单独放在一个出参结构中(原因见另外一个关于 静态/动态 出参的注释) }
type CommonModel ¶ added in v0.3.6
type CommonModel struct {
RuntimePath string
}
type Connections ¶ added in v0.3.5
type CustomizationPostData ¶
type CustomizationPostData struct { ContainerName string `json:"container_name"` CustomId string `json:"custom_id"` Origin string `json:"origin"` NetworkModel string `json:"network_model"` Index string `json:"index"` Icon string `json:"icon"` Image string `json:"image"` Envs EnvArray `json:"envs"` Ports PortArray `json:"ports"` Volumes PathArray `json:"volumes"` Devices PathArray `json:"devices"` //Port string `json:"port,omitempty"` PortMap string `json:"port_map"` 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"` Protocol string `json:"protocol"` Host string `json:"host"` }
type DockerDaemonConfigurationModel ¶ added in v0.3.7
type DockerDaemonConfigurationModel struct { // e.g. `/var/lib/docker` Root string `json:"data-root,omitempty"` }
reference - https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
type DockerStatsModel ¶ added in v0.2.3
type FileOperate ¶ added in v0.3.2
type FileOperate struct { Type string `json:"type" binding:"required"` Item []FileItem `json:"item" binding:"required"` TotalSize int64 `json:"total_size"` ProcessedSize int64 `json:"processed_size"` To string `json:"to" binding:"required"` Style string `json:"style"` Finished bool `json:"finished"` }
type FileSetting ¶ added in v0.3.0
type FileSetting struct { DownloadDir string `json:"download_dir"` }
type FileUpdate ¶ added in v0.3.2
type GoDaddyModel ¶
type IOCountersStat ¶
type IOCountersStat struct { Name string `json:"name"` // interface name BytesSent uint64 `json:"bytesSent"` // number of bytes sent BytesRecv uint64 `json:"bytesRecv"` // number of bytes received PacketsSent uint64 `json:"packetsSent"` // number of packets sent PacketsRecv uint64 `json:"packetsRecv"` // number of packets received Errin uint64 `json:"errin"` // total number of errors while receiving Errout uint64 `json:"errout"` // total number of errors while sending Dropin uint64 `json:"dropin"` // total number of incoming packets which were dropped Dropout uint64 `json:"dropout"` // total number of outgoing packets which were dropped (always 0 on OSX and BSD) Fifoin uint64 `json:"fifoin"` // total number of FIFO buffers errors while receiving Fifoout uint64 `json:"fifoout"` // total number of FIFO buffers errors while sending State string `json:"state"` Time int64 `json:"time"` }
type JSON ¶
type JSON json.RawMessage
type MapStrings ¶
***************使gorm支持[]string结构******************
func (*MapStrings) Scan ¶
func (c *MapStrings) Scan(input interface{}) error
type NotifyMssage ¶ added in v0.2.9
type Path ¶
type Path struct { Name string `json:"name"` //File name or document name Path string `json:"path"` //Full path to file or folder IsDir bool `json:"is_dir"` //Is it a folder Date time.Time `json:"date"` Size int64 `json:"size"` //File Size Type string `json:"type,omitempty"` Label string `json:"label,omitempty"` Write bool `json:"write"` Extensions map[string]interface{} `json:"extensions"` }
type RedisModel ¶
type RedisModel struct { Host string Password string MaxIdle int MaxActive int IdleTimeout time.Duration }
redis配置文件
type Result ¶
type Result struct { Success int `json:"success" example:"200"` Message string `json:"message" example:"ok"` Data interface{} `json:"data" example:"返回结果"` }
公共返回模型
type SearchFileInfo ¶
type ServerAppList ¶
type ServerAppList struct { Id uint `gorm:"column:id;primary_key" json:"id"` Title string `json:"title"` Description string `json:"description"` Tagline string `json:"tagline"` Tags Strings `gorm:"type:json" json:"tags"` Icon string `json:"icon"` ScreenshotLink Strings `gorm:"type:json" json:"screenshot_link"` Category string `json:"category"` CategoryId int `json:"category_id"` CategoryFont string `json:"category_font"` PortMap string `json:"port_map"` ImageVersion string `json:"image_version"` Tip string `json:"tip"` Envs EnvArray `json:"envs"` Ports PortArray `json:"ports"` Volumes PathArray `json:"volumes"` Devices PathArray `json:"devices"` NetworkModel string `json:"network_model"` Image string `json:"image"` Index string `json:"index"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` State int `json:"state"` Author string `json:"author"` MinMemory int `json:"min_memory"` MinDisk int `json:"min_disk"` MaxMemory uint64 `json:"max_memory"` Thumbnail string `json:"thumbnail"` Healthy string `json:"healthy"` Plugins Strings `json:"plugins"` Origin string `json:"origin"` Type int `json:"type"` QueryCount int `json:"query_count"` Developer string `json:"developer"` HostName string `json:"host_name"` Privileged bool `json:"privileged"` CapAdd Strings `json:"cap_add"` Cmd Strings `json:"cmd"` }
@tiger - 对于用于出参的数据结构,静态信息(例如 title)和
动态信息(例如 state、query_count)应该划分到不同的数据结构中 这样的好处是 1 - 多次获取动态信息时可以减少出参复杂度,因为静态信息只获取一次就好 2 - 在未来的迭代中,可以降低维护成本(所有字段都展开放在一个层级维护成本略高) 另外,一些针对性字段,例如 Docker 相关的,可以用 map 来保存。 这样在未来增加多态 App,例如 Snap,不需要维护多个结构,或者一个结构保存不必要的字段
type ServerAppListCollection ¶ added in v0.3.3
type ServerAppListCollection struct { List []ServerAppList `json:"list"` Recommend []ServerAppList `json:"recommend"` Community []ServerAppList `json:"community"` Version string `json:"version"` }
type ServerCategoryList ¶
type ServerCategoryList struct { Version string `json:"version"` Item []CategoryList `json:"item"` }
type ServerModel ¶
type ServerModel struct { HttpPort string RunMode string ServerApi string LockAccount bool Token string USBAutoMount string SocketPort string }
服务配置
type SmartctlA ¶ added in v0.2.6
type SmartctlA struct { Smartctl struct { Version []int `json:"version"` SvnRevision string `json:"svn_revision"` PlatformInfo string `json:"platform_info"` BuildInfo string `json:"build_info"` Argv []string `json:"argv"` ExitStatus int `json:"exit_status"` } `json:"smartctl"` Device struct { Name string `json:"name"` InfoName string `json:"info_name"` Type string `json:"type"` Protocol string `json:"protocol"` } `json:"device"` ModelName string `json:"model_name"` SerialNumber string `json:"serial_number"` FirmwareVersion string `json:"firmware_version"` UserCapacity struct { Blocks int `json:"blocks"` Bytes int64 `json:"bytes"` } `json:"user_capacity"` SmartStatus struct { Passed bool `json:"passed"` } `json:"smart_status"` AtaSmartData struct { OfflineDataCollection struct { Status struct { Value int `json:"value"` String string `json:"string"` } `json:"status"` CompletionSeconds int `json:"completion_seconds"` } `json:"offline_data_collection"` SelfTest struct { Status struct { Value int `json:"value"` String string `json:"string"` Passed bool `json:"passed"` } `json:"status"` PollingMinutes struct { Short int `json:"short"` Extended int `json:"extended"` Conveyance int `json:"conveyance"` } `json:"polling_minutes"` } `json:"self_test"` Capabilities struct { Values []int `json:"values"` ExecOfflineImmediateSupported bool `json:"exec_offline_immediate_supported"` OfflineIsAbortedUponNewCmd bool `json:"offline_is_aborted_upon_new_cmd"` OfflineSurfaceScanSupported bool `json:"offline_surface_scan_supported"` SelfTestsSupported bool `json:"self_tests_supported"` ConveyanceSelfTestSupported bool `json:"conveyance_self_test_supported"` SelectiveSelfTestSupported bool `json:"selective_self_test_supported"` AttributeAutosaveEnabled bool `json:"attribute_autosave_enabled"` ErrorLoggingSupported bool `json:"error_logging_supported"` GpLoggingSupported bool `json:"gp_logging_supported"` } `json:"capabilities"` } `json:"ata_smart_data"` PowerOnTime struct { Hours int `json:"hours"` } `json:"power_on_time"` PowerCycleCount int `json:"power_cycle_count"` Temperature struct { Current int `json:"current"` } `json:"temperature"` }
type SystemConfig ¶
type SystemConfig struct {
ConfigPath string `json:"config_path"`
}
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
* @Author: LinkLeong link@icewhale.com * @Date: 2022-05-27 15:01:58 * @LastEditors: LinkLeong * @LastEditTime: 2022-05-31 14:51:21 * @FilePath: /CasaOS/model/notify/application.go * @Description: * @Website: https://www.casaos.io * Copyright (c) 2022 by icewhale, All Rights Reserved.
|
* @Author: LinkLeong link@icewhale.com * @Date: 2022-05-27 15:01:58 * @LastEditors: LinkLeong * @LastEditTime: 2022-05-31 14:51:21 * @FilePath: /CasaOS/model/notify/application.go * @Description: * @Website: https://www.casaos.io * Copyright (c) 2022 by icewhale, All Rights Reserved. |
* @Author: LinkLeong link@icewhale.com * @Date: 2022-06-15 11:30:47 * @LastEditors: LinkLeong * @LastEditTime: 2022-06-23 18:40:40 * @FilePath: /CasaOS/model/system_model/verify_information.go * @Description: * @Website: https://www.casaos.io * Copyright (c) 2022 by icewhale, All Rights Reserved.
|
* @Author: LinkLeong link@icewhale.com * @Date: 2022-06-15 11:30:47 * @LastEditors: LinkLeong * @LastEditTime: 2022-06-23 18:40:40 * @FilePath: /CasaOS/model/system_model/verify_information.go * @Description: * @Website: https://www.casaos.io * Copyright (c) 2022 by icewhale, All Rights Reserved. |