mirror of
https://github.com/crunchy-labs/crunchy-cli.git
synced 2026-01-21 12:12:00 -06:00
Add docs to crunchylists
This commit is contained in:
parent
fa2321e9e8
commit
2569ddd1c7
1 changed files with 10 additions and 0 deletions
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Crunchylists returns a struct to control crunchylists.
|
||||||
func (c *Crunchyroll) Crunchylists() (*Crunchylists, error) {
|
func (c *Crunchyroll) Crunchylists() (*Crunchylists, error) {
|
||||||
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s?locale=%s", c.Config.AccountID, c.Locale)
|
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s?locale=%s", c.Config.AccountID, c.Locale)
|
||||||
resp, err := c.request(endpoint, http.MethodGet)
|
resp, err := c.request(endpoint, http.MethodGet)
|
||||||
|
|
@ -36,6 +37,7 @@ type Crunchylists struct {
|
||||||
MaxPrivate int `json:"max_private"`
|
MaxPrivate int `json:"max_private"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Create creates a new crunchylist with the given name. Duplicate names for lists are allowed.
|
||||||
func (cl *Crunchylists) Create(name string) (*Crunchylist, error) {
|
func (cl *Crunchylists) Create(name string) (*Crunchylist, error) {
|
||||||
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s?locale=%s", cl.crunchy.Config.AccountID, cl.crunchy.Locale)
|
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s?locale=%s", cl.crunchy.Config.AccountID, cl.crunchy.Locale)
|
||||||
body, _ := json.Marshal(map[string]string{"title": name})
|
body, _ := json.Marshal(map[string]string{"title": name})
|
||||||
|
|
@ -66,6 +68,7 @@ type CrunchylistPreview struct {
|
||||||
Title string `json:"title"`
|
Title string `json:"title"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Crunchylist returns the belonging Crunchylist struct.
|
||||||
func (clp *CrunchylistPreview) Crunchylist() (*Crunchylist, error) {
|
func (clp *CrunchylistPreview) Crunchylist() (*Crunchylist, error) {
|
||||||
return crunchylistFromID(clp.crunchy, clp.ListID)
|
return crunchylistFromID(clp.crunchy, clp.ListID)
|
||||||
}
|
}
|
||||||
|
|
@ -83,10 +86,12 @@ type Crunchylist struct {
|
||||||
Items []*CrunchylistItem `json:"items"`
|
Items []*CrunchylistItem `json:"items"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddSeries adds a series.
|
||||||
func (cl *Crunchylist) AddSeries(series *Series) error {
|
func (cl *Crunchylist) AddSeries(series *Series) error {
|
||||||
return cl.AddSeriesFromID(series.ID)
|
return cl.AddSeriesFromID(series.ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddSeriesFromID adds a series from its id
|
||||||
func (cl *Crunchylist) AddSeriesFromID(id string) error {
|
func (cl *Crunchylist) AddSeriesFromID(id string) error {
|
||||||
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s/%s?locale=%s", cl.crunchy.Config.AccountID, cl.ID, cl.crunchy.Locale)
|
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s/%s?locale=%s", cl.crunchy.Config.AccountID, cl.ID, cl.crunchy.Locale)
|
||||||
body, _ := json.Marshal(map[string]string{"content_id": id})
|
body, _ := json.Marshal(map[string]string{"content_id": id})
|
||||||
|
|
@ -99,22 +104,26 @@ func (cl *Crunchylist) AddSeriesFromID(id string) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RemoveSeries removes a series
|
||||||
func (cl *Crunchylist) RemoveSeries(series *Series) error {
|
func (cl *Crunchylist) RemoveSeries(series *Series) error {
|
||||||
return cl.RemoveSeriesFromID(series.ID)
|
return cl.RemoveSeriesFromID(series.ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RemoveSeriesFromID removes a series by its id
|
||||||
func (cl *Crunchylist) RemoveSeriesFromID(id string) error {
|
func (cl *Crunchylist) RemoveSeriesFromID(id string) error {
|
||||||
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s/%s/%s?locale=%s", cl.crunchy.Config.AccountID, cl.ID, id, cl.crunchy.Locale)
|
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s/%s/%s?locale=%s", cl.crunchy.Config.AccountID, cl.ID, id, cl.crunchy.Locale)
|
||||||
_, err := cl.crunchy.request(endpoint, http.MethodDelete)
|
_, err := cl.crunchy.request(endpoint, http.MethodDelete)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Delete deleted the current crunchylist.
|
||||||
func (cl *Crunchylist) Delete() error {
|
func (cl *Crunchylist) Delete() error {
|
||||||
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s/%s?locale=%s", cl.crunchy.Config.AccountID, cl.ID, cl.crunchy.Locale)
|
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s/%s?locale=%s", cl.crunchy.Config.AccountID, cl.ID, cl.crunchy.Locale)
|
||||||
_, err := cl.crunchy.request(endpoint, http.MethodDelete)
|
_, err := cl.crunchy.request(endpoint, http.MethodDelete)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Rename renames the current crunchylist.
|
||||||
func (cl *Crunchylist) Rename(name string) error {
|
func (cl *Crunchylist) Rename(name string) error {
|
||||||
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s/%s?locale=%s", cl.crunchy.Config.AccountID, cl.ID, cl.crunchy.Locale)
|
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s/%s?locale=%s", cl.crunchy.Config.AccountID, cl.ID, cl.crunchy.Locale)
|
||||||
body, _ := json.Marshal(map[string]string{"title": name})
|
body, _ := json.Marshal(map[string]string{"title": name})
|
||||||
|
|
@ -160,6 +169,7 @@ type CrunchylistItem struct {
|
||||||
Panel Panel `json:"panel"`
|
Panel Panel `json:"panel"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remove removes the current item from its crunchylist.
|
||||||
func (cli *CrunchylistItem) Remove() error {
|
func (cli *CrunchylistItem) Remove() error {
|
||||||
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s/%s/%s", cli.crunchy.Config.AccountID, cli.ListID, cli.ID)
|
endpoint := fmt.Sprintf("https://beta.crunchyroll.com/content/v1/custom-lists/%s/%s/%s", cli.crunchy.Config.AccountID, cli.ListID, cli.ID)
|
||||||
_, err := cli.crunchy.request(endpoint, http.MethodDelete)
|
_, err := cli.crunchy.request(endpoint, http.MethodDelete)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue