autobrr/pkg/porla/methods.go
ze0s d100703784
feat(download-clients): porla implement rules (#711)
* feat(downloadclients): Porla implement rules

* feat(downloadclients): Porla add basic auth support

* feat(porla): use new token for auth

* feat(porla): update check can download rules
2023-02-24 19:17:02 +01:00

57 lines
1.1 KiB
Go

package porla
import "context"
func (c *Client) Version() (*SysVersionsPorla, error) {
response, err := c.rpcClient.Call("sys.versions")
if err != nil {
return nil, err
}
if response.Error != nil {
return nil, response.Error
}
var versions *SysVersions
if err = response.GetObject(&versions); err != nil {
return nil, err
}
return &versions.Porla, nil
}
func (c *Client) TorrentsAdd(ctx context.Context, req *TorrentsAddReq) error {
response, err := c.rpcClient.CallCtx(ctx, "torrents.add", req)
if err != nil {
return err
}
if response.Error != nil {
return response.Error
}
var res *TorrentsAddRes
if err = response.GetObject(&res); err != nil {
return err
}
return nil
}
func (c *Client) TorrentsList(ctx context.Context, filters *TorrentsListFilters) (*TorrentsListRes, error) {
response, err := c.rpcClient.CallCtx(ctx, "torrents.list", TorrentsListReq{Filters: filters})
if err != nil {
return nil, err
}
if response.Error != nil {
return nil, response.Error
}
var res *TorrentsListRes
if err = response.GetObject(&res); err != nil {
return nil, err
}
return res, nil
}