142 lines
4.7 KiB
Go
142 lines
4.7 KiB
Go
package graphql
|
|
|
|
// This file will be automatically regenerated based on the schema, any resolver implementations
|
|
// will be copied through when generating and any unknown code will be moved to the end.
|
|
// Code generated by github.com/99designs/gqlgen version v0.17.55
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
graph "git.kmsign.ru/royalcat/tstor/src/delivery/graphql"
|
|
"git.kmsign.ru/royalcat/tstor/src/delivery/graphql/model"
|
|
)
|
|
|
|
// Torrents is the resolver for the torrents field.
|
|
func (r *torrentDaemonQueryResolver) Torrents(ctx context.Context, obj *model.TorrentDaemonQuery, filter *model.TorrentsFilter) ([]*model.Torrent, error) {
|
|
// torrents, err := r.ATorrentDaemon.ListTorrents(ctx)
|
|
// if err != nil {
|
|
// return nil, err
|
|
// }
|
|
|
|
// filterFuncs := []func(torrent *model.Torrent) bool{}
|
|
|
|
// if filter != nil {
|
|
// if filter.BytesCompleted != nil {
|
|
// filterFuncs = append(filterFuncs, func(torrent *model.Torrent) bool {
|
|
// return filter.BytesCompleted.Include(torrent.BytesCompleted)
|
|
// })
|
|
// }
|
|
// if filter.BytesMissing != nil {
|
|
// filterFuncs = append(filterFuncs, func(torrent *model.Torrent) bool {
|
|
// return filter.BytesMissing.Include(torrent.BytesMissing)
|
|
// })
|
|
// }
|
|
// if filter.PeersCount != nil {
|
|
// filterFuncs = append(filterFuncs, func(torrent *model.Torrent) bool {
|
|
// return filter.PeersCount.Include(
|
|
// int64(len(torrent.T.Torrent().PeerConns())),
|
|
// )
|
|
// })
|
|
// }
|
|
// if filter.Infohash != nil {
|
|
// filterFuncs = append(filterFuncs, func(torrent *model.Torrent) bool {
|
|
// return filter.Infohash.Include(
|
|
// torrent.Infohash,
|
|
// )
|
|
// })
|
|
// }
|
|
// if filter.Priority != nil {
|
|
// filterFuncs = append(filterFuncs, func(torrent *model.Torrent) bool {
|
|
// return filter.Priority.Include(
|
|
// torrent.Priority,
|
|
// )
|
|
// })
|
|
// }
|
|
// }
|
|
|
|
// filterFunc := func(torrent *model.Torrent) bool {
|
|
// for _, f := range filterFuncs {
|
|
// if !f(torrent) {
|
|
// return false
|
|
// }
|
|
// }
|
|
// return true
|
|
// }
|
|
|
|
// tr := []*model.Torrent{}
|
|
// for _, t := range torrents {
|
|
// d, err := model.MapTorrent(ctx, t)
|
|
// if err != nil {
|
|
// return nil, err
|
|
// }
|
|
|
|
// if !filterFunc(d) {
|
|
// continue
|
|
// }
|
|
// tr = append(tr, d)
|
|
// }
|
|
|
|
// slices.SortStableFunc(torrents, func(t1, t2 *torrent.Controller) int {
|
|
// return strings.Compare(t1.Name(), t2.Name())
|
|
// })
|
|
|
|
// return tr, nil
|
|
panic("not implemented")
|
|
}
|
|
|
|
// ClientStats is the resolver for the clientStats field.
|
|
func (r *torrentDaemonQueryResolver) ClientStats(ctx context.Context, obj *model.TorrentDaemonQuery) (*model.TorrentClientStats, error) {
|
|
// stats := r.ATorrentDaemon.Stats()
|
|
// return &model.TorrentClientStats{
|
|
// BytesWritten: stats.BytesWritten.Int64(),
|
|
// BytesRead: stats.BytesRead.Int64(),
|
|
// BytesWrittenData: stats.BytesWrittenData.Int64(),
|
|
// BytesReadData: stats.BytesReadData.Int64(),
|
|
// BytesReadUsefulData: stats.BytesReadUsefulData.Int64(),
|
|
// BytesReadUsefulIntendedData: stats.BytesReadUsefulIntendedData.Int64(),
|
|
// ChunksWritten: stats.ChunksWritten.Int64(),
|
|
// ChunksRead: stats.ChunksRead.Int64(),
|
|
// ChunksReadUseful: stats.ChunksReadUseful.Int64(),
|
|
// ChunksReadWasted: stats.ChunksReadWasted.Int64(),
|
|
// MetadataChunksRead: stats.MetadataChunksRead.Int64(),
|
|
// PiecesDirtiedGood: stats.PiecesDirtiedGood.Int64(),
|
|
// PiecesDirtiedBad: stats.PiecesDirtiedBad.Int64(),
|
|
// }, nil
|
|
panic("not implemented")
|
|
}
|
|
|
|
// StatsHistory is the resolver for the statsHistory field.
|
|
func (r *torrentDaemonQueryResolver) StatsHistory(ctx context.Context, obj *model.TorrentDaemonQuery, since time.Time, infohash *string) ([]*model.TorrentStats, error) {
|
|
// var stats []torrent.TorrentStats
|
|
// if infohash == nil {
|
|
// stats, err := r.ATorrentDaemon.StatsHistory(ctx, since)
|
|
// if err != nil {
|
|
// return nil, err
|
|
// }
|
|
// return model.Apply(stats, model.MapTorrentStats), nil
|
|
// } else if *infohash == "total" {
|
|
// var err error
|
|
// stats, err = r.ATorrentDaemon.TotalStatsHistory(ctx, since)
|
|
// if err != nil {
|
|
// return nil, err
|
|
// }
|
|
// } else {
|
|
// ih := tinfohash.FromHexString(*infohash)
|
|
// var err error
|
|
// stats, err = r.ATorrentDaemon.TorrentStatsHistory(ctx, since, ih)
|
|
// if err != nil {
|
|
// return nil, err
|
|
// }
|
|
// }
|
|
|
|
// return model.Apply(stats, model.MapTorrentStats), nil
|
|
panic("not implemented")
|
|
}
|
|
|
|
// TorrentDaemonQuery returns graph.TorrentDaemonQueryResolver implementation.
|
|
func (r *Resolver) TorrentDaemonQuery() graph.TorrentDaemonQueryResolver {
|
|
return &torrentDaemonQueryResolver{r}
|
|
}
|
|
|
|
type torrentDaemonQueryResolver struct{ *Resolver }
|