package src import ( "encoding/json" "strings" ) // LastUploadedResourceListRequest struct type LastUploadedResourceListRequest struct { client *Client HTTPRequest *HTTPRequest } // LastUploadedResourceListRequestOptions struct type LastUploadedResourceListRequestOptions struct { MediaType []MediaType Limit *uint32 Fields []string PreviewSize *PreviewSize PreviewCrop *bool } // Request return request func (req *LastUploadedResourceListRequest) Request() *HTTPRequest { return req.HTTPRequest } // NewLastUploadedResourceListRequest create new LastUploadedResourceList Request func (c *Client) NewLastUploadedResourceListRequest(options ...LastUploadedResourceListRequestOptions) *LastUploadedResourceListRequest { var parameters = make(map[string]interface{}) if len(options) > 0 { opt := options[0] if opt.Limit != nil { parameters["limit"] = opt.Limit } if opt.Fields != nil { parameters["fields"] = strings.Join(opt.Fields, ",") } if opt.PreviewSize != nil { parameters["preview_size"] = opt.PreviewSize.String() } if opt.PreviewCrop != nil { parameters["preview_crop"] = opt.PreviewCrop } if opt.MediaType != nil { var strMediaTypes = make([]string, len(opt.MediaType)) for i, t := range opt.MediaType { strMediaTypes[i] = t.String() } parameters["media_type"] = strings.Join(strMediaTypes, ",") } } return &LastUploadedResourceListRequest{ client: c, HTTPRequest: createGetRequest(c, "/resources/last-uploaded", parameters), } } // Exec run LastUploadedResourceList Request func (req *LastUploadedResourceListRequest) Exec() (*LastUploadedResourceListResponse, error) { data, err := req.Request().run(req.client) if err != nil { return nil, err } var info LastUploadedResourceListResponse err = json.Unmarshal(data, &info) if err != nil { return nil, err } if cap(info.Items) == 0 { info.Items = []ResourceInfoResponse{} } return &info, nil }