mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 08:49:13 +00:00

* 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
57 lines
1.1 KiB
Go
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
|
|
}
|