boosty
/
subscriptions.go
64 строки · 1.7 Кб
1package boosty2
3import (4"fmt"5"net/http"6"net/url"7)
8
9type Subscription struct {10IsArchived bool `json:"isArchived"`11Deleted bool `json:"deleted"`12Badges []interface{} `json:"badges"`13ID int `json:"id"`14Data []struct {15Modificator string `json:"modificator"`16Type string `json:"type"`17Content string `json:"content"`18} `json:"data"`19Name string `json:"name"`20ExternalApps struct {21Telegram struct {22Groups []interface{} `json:"groups"`23IsConfigured bool `json:"isConfigured"`24} `json:"telegram"`25Discord struct {26Data struct {27Role struct {28Name string `json:"name"`29ID string `json:"id"`30} `json:"role"`31} `json:"data"`32IsConfigured bool `json:"isConfigured"`33} `json:"discord"`34} `json:"externalApps"`35Price int `json:"price"`36Promos []interface{} `json:"promos"`37OwnerID int `json:"ownerId"`38CreatedAt int `json:"createdAt"`39CurrencyPrices struct {40USD float64 `json:"USD"`41RUB int `json:"RUB"`42} `json:"currencyPrices"`43}
44
45type Subscriptions struct {46Offset int `json:"offset"`47Total int `json:"total"`48Limit int `json:"limit"`49Data []Subscription `json:"data"`50}
51
52func (b *Boosty) Subscriptions(values url.Values) (*Subscriptions, error) {53u := fmt.Sprintf("/v1/blog/%s/subscription_level/?%s", b.blog, values.Encode())54//u := fmt.Sprintf("/v1/blog/%s/subscription_level/?show_free_level=true&sort_by=on_time&offset=%d&limit=%d&order=gt", b.blog, offset, limit)55
56m := Method[Subscriptions]{57request: b.request,58method: http.MethodGet,59url: u,60values: url.Values{},61}62
63return m.Call(Subscriptions{})64}
65