// Code generated by github.com/99designs/gqlgen, DO NOT EDIT. package model import ( "time" "git.kmsign.ru/royalcat/tstor/daemons/atorrent" "git.kmsign.ru/royalcat/tstor/src/vfs" "github.com/anacrolix/torrent" "github.com/anacrolix/torrent/types" ) type Dir interface { IsFsEntry() IsDir() GetName() string GetEntries() []FsEntry } type File interface { IsFsEntry() IsFile() GetName() string GetSize() int64 } type FsEntry interface { IsFsEntry() GetName() string } type ArchiveFs struct { Name string `json:"name"` Entries []FsEntry `json:"entries"` Size int64 `json:"size"` } func (ArchiveFs) IsDir() {} func (this ArchiveFs) GetName() string { return this.Name } func (this ArchiveFs) GetEntries() []FsEntry { if this.Entries == nil { return nil } interfaceSlice := make([]FsEntry, 0, len(this.Entries)) for _, concrete := range this.Entries { interfaceSlice = append(interfaceSlice, concrete) } return interfaceSlice } func (ArchiveFs) IsFsEntry() {} type BooleanFilter struct { Eq *bool `json:"eq,omitempty"` } type CleanupResponse struct { Count int64 `json:"count"` List []string `json:"list"` } type DateTimeFilter struct { Eq *time.Time `json:"eq,omitempty"` Gt *time.Time `json:"gt,omitempty"` Lt *time.Time `json:"lt,omitempty"` Gte *time.Time `json:"gte,omitempty"` Lte *time.Time `json:"lte,omitempty"` } type DownloadTorrentResponse struct { TaskID string `json:"taskID"` } type IntFilter struct { Eq *int64 `json:"eq,omitempty"` Gt *int64 `json:"gt,omitempty"` Lt *int64 `json:"lt,omitempty"` Gte *int64 `json:"gte,omitempty"` Lte *int64 `json:"lte,omitempty"` In []int64 `json:"in,omitempty"` } type Mutation struct { } type Pagination struct { Offset int64 `json:"offset"` Limit int64 `json:"limit"` } type Query struct { } type ResolverFs struct { Name string `json:"name"` Entries []FsEntry `json:"entries"` } func (ResolverFs) IsDir() {} func (this ResolverFs) GetName() string { return this.Name } func (this ResolverFs) GetEntries() []FsEntry { if this.Entries == nil { return nil } interfaceSlice := make([]FsEntry, 0, len(this.Entries)) for _, concrete := range this.Entries { interfaceSlice = append(interfaceSlice, concrete) } return interfaceSlice } func (ResolverFs) IsFsEntry() {} type Schema struct { Query *Query `json:"query,omitempty"` Mutation *Mutation `json:"mutation,omitempty"` } type SimpleDir struct { Name string `json:"name"` Entries []FsEntry `json:"entries"` FS vfs.Filesystem `json:"-"` Path string `json:"-"` } func (SimpleDir) IsDir() {} func (this SimpleDir) GetName() string { return this.Name } func (this SimpleDir) GetEntries() []FsEntry { if this.Entries == nil { return nil } interfaceSlice := make([]FsEntry, 0, len(this.Entries)) for _, concrete := range this.Entries { interfaceSlice = append(interfaceSlice, concrete) } return interfaceSlice } func (SimpleDir) IsFsEntry() {} type SimpleFile struct { Name string `json:"name"` Size int64 `json:"size"` } func (SimpleFile) IsFile() {} func (this SimpleFile) GetName() string { return this.Name } func (this SimpleFile) GetSize() int64 { return this.Size } func (SimpleFile) IsFsEntry() {} type StringFilter struct { Eq *string `json:"eq,omitempty"` Substr *string `json:"substr,omitempty"` In []string `json:"in,omitempty"` } type Torrent struct { Name string `json:"name"` Infohash string `json:"infohash"` BytesCompleted int64 `json:"bytesCompleted"` TorrentFilePath string `json:"torrentFilePath"` BytesMissing int64 `json:"bytesMissing"` Priority types.PiecePriority `json:"priority"` Files []*TorrentFile `json:"files"` ExcludedFiles []*TorrentFile `json:"excludedFiles"` Peers []*TorrentPeer `json:"peers"` T *atorrent.Controller `json:"-"` } type TorrentClientStats struct { BytesWritten int64 `json:"bytesWritten"` BytesWrittenData int64 `json:"bytesWrittenData"` BytesRead int64 `json:"bytesRead"` BytesReadData int64 `json:"bytesReadData"` BytesReadUsefulData int64 `json:"bytesReadUsefulData"` BytesReadUsefulIntendedData int64 `json:"bytesReadUsefulIntendedData"` ChunksWritten int64 `json:"chunksWritten"` ChunksRead int64 `json:"chunksRead"` ChunksReadUseful int64 `json:"chunksReadUseful"` ChunksReadWasted int64 `json:"chunksReadWasted"` MetadataChunksRead int64 `json:"metadataChunksRead"` PiecesDirtiedGood int64 `json:"piecesDirtiedGood"` PiecesDirtiedBad int64 `json:"piecesDirtiedBad"` } type TorrentDaemonMutation struct { ValidateTorrent bool `json:"validateTorrent"` SetTorrentPriority bool `json:"setTorrentPriority"` Cleanup *CleanupResponse `json:"cleanup"` } type TorrentDaemonQuery struct { Torrents []*Torrent `json:"torrents"` ClientStats *TorrentClientStats `json:"clientStats"` StatsHistory []*TorrentStats `json:"statsHistory"` } type TorrentFs struct { Name string `json:"name"` Torrent *Torrent `json:"torrent"` Entries []FsEntry `json:"entries"` FS *atorrent.TorrentFS `json:"-"` } func (TorrentFs) IsDir() {} func (this TorrentFs) GetName() string { return this.Name } func (this TorrentFs) GetEntries() []FsEntry { if this.Entries == nil { return nil } interfaceSlice := make([]FsEntry, 0, len(this.Entries)) for _, concrete := range this.Entries { interfaceSlice = append(interfaceSlice, concrete) } return interfaceSlice } func (TorrentFs) IsFsEntry() {} type TorrentFile struct { Filename string `json:"filename"` Size int64 `json:"size"` BytesCompleted int64 `json:"bytesCompleted"` Priority types.PiecePriority `json:"priority"` F *atorrent.FileController `json:"-"` } type TorrentFileEntry struct { Name string `json:"name"` Torrent *Torrent `json:"torrent"` Size int64 `json:"size"` } func (TorrentFileEntry) IsFile() {} func (this TorrentFileEntry) GetName() string { return this.Name } func (this TorrentFileEntry) GetSize() int64 { return this.Size } func (TorrentFileEntry) IsFsEntry() {} type TorrentFilter struct { Everything *bool `json:"everything,omitempty"` Infohash *string `json:"infohash,omitempty"` } type TorrentPeer struct { IP string `json:"ip"` DownloadRate float64 `json:"downloadRate"` Discovery string `json:"discovery"` Port int64 `json:"port"` ClientName string `json:"clientName"` F *torrent.PeerConn `json:"-"` } type TorrentPriorityFilter struct { Eq *types.PiecePriority `json:"eq,omitempty"` Gt *types.PiecePriority `json:"gt,omitempty"` Lt *types.PiecePriority `json:"lt,omitempty"` Gte *types.PiecePriority `json:"gte,omitempty"` Lte *types.PiecePriority `json:"lte,omitempty"` In []types.PiecePriority `json:"in,omitempty"` } type TorrentStats struct { Timestamp time.Time `json:"timestamp"` DownloadedBytes uint `json:"downloadedBytes"` UploadedBytes uint `json:"uploadedBytes"` TotalPeers uint `json:"totalPeers"` ActivePeers uint `json:"activePeers"` ConnectedSeeders uint `json:"connectedSeeders"` } type TorrentsFilter struct { Infohash *StringFilter `json:"infohash,omitempty"` Name *StringFilter `json:"name,omitempty"` BytesCompleted *IntFilter `json:"bytesCompleted,omitempty"` BytesMissing *IntFilter `json:"bytesMissing,omitempty"` PeersCount *IntFilter `json:"peersCount,omitempty"` Priority *TorrentPriorityFilter `json:"priority,omitempty"` }