boosty
/
subscribers.go
60 строк · 1.6 Кб
1package boosty2
3import (4"fmt"5"net/http"6"net/url"7)
8
9type Subscriber struct {10HasAvatar bool `json:"hasAvatar"`11Payments int `json:"payments"`12Level struct {13Deleted bool `json:"deleted"`14Name string `json:"name"`15Price int `json:"price"`16OwnerID int `json:"ownerId"`17Data []struct {18Type string `json:"type"`19Content string `json:"content"`20Modificator string `json:"modificator"`21} `json:"data"`22ID int `json:"id"`23CurrencyPrices struct {24RUB int `json:"RUB"`25USD float64 `json:"USD"`26} `json:"currencyPrices"`27CreatedAt int `json:"createdAt"`28IsArchived bool `json:"isArchived"`29} `json:"level"`30Email string `json:"email"`31IsBlackListed bool `json:"isBlackListed"`32ID int `json:"id"`33Name string `json:"name"`34OnTime int `json:"onTime"`35Subscribed bool `json:"subscribed"`36NextPayTime int `json:"nextPayTime"`37Price int `json:"price"`38AvatarURL string `json:"avatarUrl"`39}
40
41type Subscribers struct {42Offset int `json:"offset"`43Total int `json:"total"`44Limit int `json:"limit"`45Data []Subscriber `json:"data"`46}
47
48func (b *Boosty) Subscribers(values url.Values) (*Subscribers, error) {49u := fmt.Sprintf("/v1/blog/%s/subscribers?%s", b.blog, values.Encode())50//u := fmt.Sprintf("/v1/blog/%s/subscribers?sort_by=on_time&offset=%d&limit=%d&order=gt", b.blog, offset, limit)51
52m := Method[Subscribers]{53request: b.request,54method: http.MethodGet,55url: u,56values: url.Values{},57}58
59return m.Call(Subscribers{})60}
61