Add types

This commit is contained in:
2021-03-10 19:08:58 +01:00
parent 5c74f774ff
commit d3418ced63
8 changed files with 232 additions and 29 deletions

View File

@@ -2,12 +2,38 @@ package pixelapi
import (
"net/url"
"time"
"fornaxian.tech/pixeldrain_server/api/restapi/apitype"
"github.com/gocql/gocql"
)
// Subscription contains information about a user's subscription. When it
// started, when it ends, and what type of subscription it is
type Subscription struct {
ID gocql.UUID `json:"id"`
Used bool `json:"used"`
DurationDays int `json:"duration_days"`
StartTime time.Time `json:"start_date"`
WarningDate time.Time `json:"warning_date"`
EndDate time.Time `json:"end_date"`
SubscriptionType SubscriptionType `json:"subscription_type"`
}
// SubscriptionType contains information about a subscription type. It's not the
// active subscription itself, only the properties of the subscription. Like the
// perks and cost
type SubscriptionType struct {
ID string `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
DisableAdDisplay bool `json:"disable_ad_display"`
DisableAdsOnFiles bool `json:"disable_ads_on_files"`
FileSizeLimit int64 `json:"file_size_limit"`
FileExpiryDays int `json:"file_expiry_days"`
}
// GetSubscriptionID returns the subscription object identified by the given ID
func (p *PixelAPI) GetSubscriptionID(id string) (resp apitype.Subscription, err error) {
func (p *PixelAPI) GetSubscriptionID(id string) (resp Subscription, err error) {
return resp, p.jsonRequest("GET", p.apiEndpoint+"/subscription/"+url.PathEscape(id), &resp)
}