* feat(qbittorrent): authorization and logging in support * feat(qbittorrent/client): support `AddFromLink` * refactor(qbittorrent/client): check authorization when getting a new client * feat(qbittorrent/client): support `GetInfo` * test(qbittorrent/client): update test cases * feat(qbittorrent): init qbittorrent client on bootstrap * feat(qbittorrent): support setting webui url via gin * feat(qbittorrent/client): support deleting * feat(qbittorrent/client): parse `TorrentStatus` enum when unmarshalling json in `GetInfo()` * feat(qbittorrent/client): support getting files by id * feat(qbittorrent): support adding qbittorrent tasks via gin * refactor(qbittorrent/client): return a `Client` interface in `New()` instead of `*client` * refactor: task handle * chore: fix typo * chore: change path --------- Co-authored-by: Andy Hsu <i@nn.ci>
35 lines
919 B
Go
35 lines
919 B
Go
package model
|
|
|
|
const (
|
|
SINGLE = iota
|
|
SITE
|
|
STYLE
|
|
PREVIEW
|
|
GLOBAL
|
|
ARIA2
|
|
INDEX
|
|
GITHUB
|
|
QBITTORRENT
|
|
)
|
|
|
|
const (
|
|
PUBLIC = iota
|
|
PRIVATE
|
|
READONLY
|
|
DEPRECATED
|
|
)
|
|
|
|
type SettingItem struct {
|
|
Key string `json:"key" gorm:"primaryKey" binding:"required"` // unique key
|
|
Value string `json:"value"` // value
|
|
Help string `json:"help"` // help message
|
|
Type string `json:"type"` // string, number, bool, select
|
|
Options string `json:"options"` // values for select
|
|
Group int `json:"group"` // use to group setting in frontend
|
|
Flag int `json:"flag"` // 0 = public, 1 = private, 2 = readonly, 3 = deprecated, etc.
|
|
}
|
|
|
|
func (s SettingItem) IsDeprecated() bool {
|
|
return s.Flag == DEPRECATED
|
|
}
|