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
This commit is contained in:
ze0s 2023-02-24 19:17:02 +01:00 committed by GitHub
parent 209e23de4f
commit d100703784
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 248 additions and 59 deletions

View file

@ -1,8 +1,9 @@
package porla
import "context"
func (c *Client) Version() (*SysVersionsPorla, error) {
response, err := c.rpcClient.Call("sys.versions")
if err != nil {
return nil, err
}
@ -12,18 +13,15 @@ func (c *Client) Version() (*SysVersionsPorla, error) {
}
var versions *SysVersions
err = response.GetObject(&versions)
if err != nil {
if err = response.GetObject(&versions); err != nil {
return nil, err
}
return &versions.Porla, nil
}
func (c *Client) TorrentsAdd(req *TorrentsAddReq) error {
response, err := c.rpcClient.Call("torrents.add", req)
func (c *Client) TorrentsAdd(ctx context.Context, req *TorrentsAddReq) error {
response, err := c.rpcClient.CallCtx(ctx, "torrents.add", req)
if err != nil {
return err
}
@ -33,11 +31,27 @@ func (c *Client) TorrentsAdd(req *TorrentsAddReq) error {
}
var res *TorrentsAddRes
err = response.GetObject(&res)
if err != nil {
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
}