package arr import ( "context" "net/http" ) // SystemStatus is the subset of /system/status we use. type SystemStatus struct { AppName string `json:"appName"` Version string `json:"version"` } // QualityProfile is a Radarr/Sonarr quality profile. type QualityProfile struct { ID int `json:"id"` Name string `json:"name"` } // RootFolder is a configured library root. type RootFolder struct { ID int `json:"id"` Path string `json:"path"` FreeSpace int64 `json:"freeSpace"` Accessible bool `json:"accessible"` } // Image is a poster/fanart reference. type Image struct { CoverType string `json:"coverType"` URL string `json:"url,omitempty"` RemoteURL string `json:"remoteUrl,omitempty"` } // SystemStatus fetches /system/status. func (c *Client) SystemStatus(ctx context.Context) (SystemStatus, error) { var s SystemStatus err := c.Do(ctx, http.MethodGet, "system/status", nil, nil, &s) return s, err } // QualityProfiles lists quality profiles. func (c *Client) QualityProfiles(ctx context.Context) ([]QualityProfile, error) { var p []QualityProfile err := c.Do(ctx, http.MethodGet, "qualityprofile", nil, nil, &p) return p, err } // RootFolders lists root folders. func (c *Client) RootFolders(ctx context.Context) ([]RootFolder, error) { var f []RootFolder err := c.Do(ctx, http.MethodGet, "rootfolder", nil, nil, &f) return f, err }