boosty

Форк
0
/
subscriptions.go 
64 строки · 1.7 Кб
1
package boosty
2

3
import (
4
	"fmt"
5
	"net/http"
6
	"net/url"
7
)
8

9
type Subscription struct {
10
	IsArchived bool          `json:"isArchived"`
11
	Deleted    bool          `json:"deleted"`
12
	Badges     []interface{} `json:"badges"`
13
	ID         int           `json:"id"`
14
	Data       []struct {
15
		Modificator string `json:"modificator"`
16
		Type        string `json:"type"`
17
		Content     string `json:"content"`
18
	} `json:"data"`
19
	Name         string `json:"name"`
20
	ExternalApps struct {
21
		Telegram struct {
22
			Groups       []interface{} `json:"groups"`
23
			IsConfigured bool          `json:"isConfigured"`
24
		} `json:"telegram"`
25
		Discord struct {
26
			Data struct {
27
				Role struct {
28
					Name string `json:"name"`
29
					ID   string `json:"id"`
30
				} `json:"role"`
31
			} `json:"data"`
32
			IsConfigured bool `json:"isConfigured"`
33
		} `json:"discord"`
34
	} `json:"externalApps"`
35
	Price          int           `json:"price"`
36
	Promos         []interface{} `json:"promos"`
37
	OwnerID        int           `json:"ownerId"`
38
	CreatedAt      int           `json:"createdAt"`
39
	CurrencyPrices struct {
40
		USD float64 `json:"USD"`
41
		RUB int     `json:"RUB"`
42
	} `json:"currencyPrices"`
43
}
44

45
type Subscriptions struct {
46
	Offset int            `json:"offset"`
47
	Total  int            `json:"total"`
48
	Limit  int            `json:"limit"`
49
	Data   []Subscription `json:"data"`
50
}
51

52
func (b *Boosty) Subscriptions(values url.Values) (*Subscriptions, error) {
53
	u := 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

56
	m := Method[Subscriptions]{
57
		request: b.request,
58
		method:  http.MethodGet,
59
		url:     u,
60
		values:  url.Values{},
61
	}
62

63
	return m.Call(Subscriptions{})
64
}
65

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.