add lists to user home

This commit is contained in:
2018-09-10 22:55:31 +02:00
parent f6bb683cc9
commit 17756b4d13
7 changed files with 53 additions and 17 deletions

View File

@@ -1,5 +1,7 @@
package pixelapi
import "time"
// API error constants
const (
ListNotFoundError = "list_not_found"
@@ -7,22 +9,23 @@ const (
// List information object from the pixeldrain API
type List struct {
Success bool `json:"success"`
ID string `json:"id"`
Title string `json:"title"`
DateCreated int64 `json:"date_created"`
Success bool `json:"success"`
ID string `json:"id"`
Title string `json:"title"`
DateCreated time.Time `json:"date_created"`
FileCount int `json:"file_count"`
Files []ListFile
}
// ListFile information object from the pixeldrain API
type ListFile struct {
ID string `json:"id"`
DetailHREF string `json:"detail_href"`
FileName string `json:"file_name"`
Description string `json:"description"`
DateCreated int64 `json:"date_created"`
DateLastView int64 `json:"date_last_view"`
ListDescription string `json:"list_description"`
ID string `json:"id"`
DetailHREF string `json:"detail_href"`
FileName string `json:"file_name"`
Description string `json:"description"`
DateCreated time.Time `json:"date_created"`
DateLastView time.Time `json:"date_last_view"`
ListDescription string `json:"list_description"`
}
// GetList get a List from the pixeldrain API. Errors will be available through

View File

@@ -48,7 +48,7 @@ type SuccessResponse struct {
func (p *PixelAPI) jsonRequest(method, url string, target interface{}) error {
req, err := http.NewRequest(method, url, nil)
if err != nil {
return &Error{
return Error{
ReqError: true,
Success: false,
Value: err.Error(),
@@ -62,7 +62,7 @@ func (p *PixelAPI) jsonRequest(method, url string, target interface{}) error {
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return &Error{
return Error{
ReqError: true,
Success: false,
Value: err.Error(),

View File

@@ -79,3 +79,21 @@ func (p *PixelAPI) UserFiles(page, limit int) (resp *UserFiles, err error) {
}
return resp, nil
}
type UserLists struct {
Success bool `json:"success"`
Lists []List `json:"lists"`
}
func (p *PixelAPI) UserLists(page, limit int) (resp *UserLists, err error) {
resp = &UserLists{Lists: make([]List, 0)}
err = p.jsonRequest(
"GET",
fmt.Sprintf("%s/user/lists?page=%d&limit=%d", p.apiEndpoint, page, limit),
resp,
)
if err != nil {
return nil, err
}
return resp, nil
}