grim/paytreon
Clone
Summary
Browse
Changes
Graph
Add all the v2 types
draft
2019-04-10, Gary Kramlich
8b3c6c709f2b
Add all the v2 types
package
paytreon
import
(
"encoding/json"
)
type
Address
struct
{
ID
string
`jsonapi:"primary,address"`
Addressee
string
`jsonapi:"attr,addressee"`
Line1
string
`jsonapi:"attr,line_1"`
Line2
string
`jsonapi:"attr,line_2"`
PostalCode
string
`jsonapi:"attr,postal_code"`
City
string
`jsonapi:"attr,city"`
State
string
`jsonapi:"attr,state"`
Country
string
`jsonapi:"attr,country"`
PhoneNumber
string
`jsonapi:"attr,phone_number"`
CreatedAt
string
`jsonapi:"attr,created_at"`
User
*
User
`jsonapi:"relation,user,omitempty"`
Campaigns
[]
*
Campaign
`jsonapi:"relation,campaigns,omitempty"`
}
type
Benefit
struct
{
ID
string
`jsonapi:"attr,primary,benefit"`
Title
string
`jsonapi:"attr,title"`
Description
string
`jsonapi:"attr,description"`
BenefitType
string
`jsonapi:"attr,benefit_type"`
RuleType
string
`jsonapi:"attr,rule_type"`
CreatedAt
string
`jsonapi:"attr,created_at"`
DeliveredDeliverablesCount
int
`jsonapi:"attr,delivered_deliverables_count"`
NotDeliveredDeliverablesCount
int
`jsonapi:"attr,not_delivered_deliverables_count"`
DeliverablesDueTodayCount
int
`jsonapi:"attr,deliverables_due_today_count"`
NextDeliverableDueDate
string
`jsonapi:"attr,next_deliverable_due_date"`
TiersCount
int
`jsonapi:"attr,tiers_count"`
IsDeleted
bool
`jsonapi:"attr,is_deleted"`
IsPublished
bool
`jsonapi:"attr,is_published"`
AppExternalID
string
`jsonapi:"attr,app_external_id"`
AppMeta
*
json
.
RawMessage
`jsonapi:"attr,app_meta"`
Tiers
[]
*
Tier
`jsonapi:"relation,tiers,omitempty"`
Deliverables
[]
*
Deliverable
`jsonapi:"relation,deliverables,omitempty"`
Campaign
*
Campaign
`jsonapi:"relation,compaign,omitempty"`
// CampaignInstallation *CampaignInstallation `jsonapi:"relation,campaign_installation"`
}
type
Campaign
struct
{
ID
string
`jsonapi:"primary,campaign"`
Summary
string
`jsonapi:"attr,summary"`
CreationName
string
`jsonapi:"attr,creation_name"`
PayPerName
string
`jsonapi:"attr,pay_per_name"`
OneLiner
string
`jsonapi:"attr,one_liner"`
MainVideoEmbed
string
`jsonapi:"attr,main_video_embed"`
MainVideoURL
string
`jsonapi:"attr,main_video_url"`
ImageURL
string
`jsonapi:"attr,image_url"`
ImageSmallURL
string
`jsonapi:"attr,image_small_url"`
ThanksVideoURL
string
`jsonapi:"attr,thanks_video_url"`
ThanksEmbed
string
`jsonapi:"attr,thanks_embed"`
ThanksMsg
string
`jsonapi:"attr,thanks_msg"`
IsMonthly
bool
`jsonapi:"attr,is_monthly"`
HasRss
bool
`jsonapi:"attr,has_rss"`
HasSentRssNotify
bool
`jsonapi:"attr,has_sent_rss_notify"`
RssFeedTitle
string
`jsonapi:"attr,rss_feed_title"`
RssArtworkURL
string
`jsonapi:"attr,rss_artwork_url"`
IsNsfw
bool
`jsonapi:"attr,is_nsfw"`
IsChargedImmediately
bool
`jsonapi:"attr,is_charged_immediately"`
CreatedAt
string
`jsonapi:"attr,created_at"`
PublishedAt
string
`jsonapi:"attr,published_at"`
PledgeURL
string
`jsonapi:"attr,pledge_url"`
PatronCount
int
`jsonapi:"attr,patron_count"`
DiscordServerID
string
`jsonapi:"attr,discord_service_id"`
GoogleAnalyticsID
string
`jsonapi:"attr,google_analytics_id"`
EarningsVisibility
string
`jsonapi:"attr,earnings_visibility"`
Tiers
[]
*
Tier
`jsonapi:"relation,tiers,omitempty"`
Creator
*
User
`jsonapi:"relation,creator,omitempty"`
Benefits
[]
*
Benefit
`jsonapi:"relation,benefits,omitempty"`
Goals
[]
*
Goal
`jsonapi:"relation,goals,omitempty"`
}
type
Deliverable
struct
{
ID
string
`jsonapi:"primary,deliverable"`
CompletedAt
string
`jsonapi:"attr,completed_at"`
DeliveryStatus
string
`jsonapi:"attr,delivery_status"`
DueAt
string
`jsonapi:"attr,due_at"`
Campaign
*
Campaign
`jsonapi:"relation,campaign,omitempty"`
Benefit
*
Benefit
`jsonapi:"relation,benefit,omitempty"`
Member
*
Member
`jsonapi:"relation,member,omitempty"`
User
*
User
`jsonapi:"relation,user,omitempty"`
}
type
Goal
struct
{
ID
string
`jsonapi:"primary,goal"`
AmountCents
int
`jsonapi:"attr,amount_cents"`
Title
string
`jsonapi:"attr,title"`
Description
string
`jsonapi:"attr,description"`
CreatedAt
string
`jsonapi:"attr,created_at"`
ReachedAt
string
`jsonapi:"attr,reached_at"`
CompletedPercentage
int
`jsonapi:"attr,completed_percentage"`
Campaign
*
Campaign
`jsonapi:"relation,campaign,omitempty"`
}
type
Media
struct
{
ID
string
`jsonapi:"primary,media"`
Filename
string
`jsonapi:"attr,file_name"`
SizeBytes
int
`jsonapi:"attr,size_bytes"`
MimeType
string
`jsonapi:"attr,mimetype"`
State
string
`jsonapi:"attr,state"`
OwnerType
string
`jsonapi:"attr,owner_type"`
OwnerID
string
`jsonapi:"attr,owner_id"`
OwnerRelationship
string
`jsonapi:"attr,owner_relationship"`
UploadExpiresAt
string
`jsonapi:"attr,upload_expires_at"`
UploadURL
string
`jsonapi:"attr,upload_url"`
UploadParameters
*
json
.
RawMessage
`jsonapi:"attr,upload_parameters"`
DownloadURL
string
`jsonapi:"attr,download_url"`
CreatedAt
string
`jsonapi:"attr,created_at"`
Metadata
*
json
.
RawMessage
`jsonapi:"attr,metadata"`
}
type
Member
struct
{
ID
string
`jsonapi:"primary,member"`
PatronStatus
string
`jsonapi:"attr,patron_status"`
IsFollower
bool
`jsonapi:"attr,is_follower"`
FullName
string
`jsonapi:"attr,full_name"`
Email
string
`jsonapi:"attr,email"`
PledgeRelationshipStart
string
`jsonapi:"attr,pledge_relationship_start"`
LifetimeSupportCents
int
`jsonapi:"attr,lifetime_support_cents"`
CurrentlyEntitledAmountCents
int
`jsonapi:"attr,currently_entitled_amount_cents"`
LastChargeDate
string
`jsonapi:"attr,last_charge_date"`
LastChargeStatus
string
`jsonapi:"attr,last_charge_status"`
Note
string
`jsonapi:"attr,note"`
WillPayAmountCents
int
`jsonapi:"attr,will_pay_amount_cents"`
Address
*
Address
`jsonapi:"relation,address"`
Campaign
*
Campaign
`jsonapi:"relation,campaign"`
CurrentlyEntitledTiers
[]
*
Tier
`jsonapi:"relation,currently_entitled_tiers"`
User
*
User
`jsonapi:"relation,user"`
}
type
OAuthClient
struct
{
ID
string
`jsonapi:"primary,oauthclient"`
ClientSecret
string
`jsonapi:"attr,client_secret"`
Name
string
`jsonapi:"attr,name"`
Description
string
`jsonapi:"attr,description"`
AuthorName
string
`jsonapi:"attr,author_name"`
Domain
string
`jsonapi:"attr,domain"`
Version
int
`jsonapi:"attr,version"`
IconURL
string
`jsonapi:"attr,icon_url"`
PrivacyPolicyURL
string
`jsonapi:"attr,privacy_policy_url"`
TosURL
string
`jsonapi:"attr,tos_url"`
RedirectURIs
string
`jsonapi:"attr,redirect_uris"`
DefaultScopes
string
`jsonapi:"attr,default_scopes"`
User
*
User
`jsonapi:"relation,user,omitempty"`
Campaign
*
Campaign
`jsonapi:"relation,campaign,omitempty"`
CreatorToken
string
`jsonapi:"relation,creator_token,omitempty"`
Apps
[]
*
PlatformApp
`jsonapi:"relation,apps,omitempty"`
}
type
Tier
struct
{
ID
string
`jsonapi:"primary,tier"`
AmountCents
int
`jsonapi:"attr,amount_cents"`
UserLimit
int
`jsonapi:"attr,user_limit"`
Remaining
int
`jsonapi:"attr,remaining"`
Description
string
`jsonapi:"attr,description"`
RequiresShipping
bool
`jsonapi:"attr,requires_shipping"`
CreatedAt
string
`jsonapi:"attr,created_at"`
URL
string
`jsonapi:"attr,url"`
PatronCount
int
`jsonapi:"attr,patron_count"`
PostCount
int
`jsonapi:"attr,post_count"`
DiscordRoleIDs
*
json
.
RawMessage
`jsonapi:"attr,discord_role_ids"`
Title
string
`jsonapi:"attr,title"`
ImageURL
string
`jsonapi:"attr,image_url"`
EditedAt
string
`jsonapi:"attr,edited_at"`
Published
bool
`jsonapi:"attr,published"`
PublishedAt
string
`jsonapi:"attr,published_at"`
UnpublishedAt
string
`jsonapi:"attr,unpublished_at"`
Campaign
*
Campaign
`jsonapi:"relation,campaign,omitempty"`
TierImage
*
Media
`jsonapi:"relation,tier_image,omitempty"`
Benefits
[]
*
Benefit
`jsonapi:"relation,benefits,omitempty"`
}
type
User
struct
{
ID
string
`jsonapi:"primary,user"`
Email
string
`jsonapi:"attr,email"`
FirstName
string
`jsonapi:"attr,first_name"`
LastName
string
`jsonapi:"attr,last_name"`
FullName
string
`jsonapi:"attr,full_name"`
IsEmailVerified
bool
`jsonapi:"attr,is_email_verified"`
Vanity
string
`jsonapi:"attr,vanity"`
About
string
`jsonapi:"attr,about"`
ImageURL
string
`jsonapi:"attr,image_url"`
ThumbURL
string
`jsonapi:"attr,thumb_url"`
CanSeeNSFW
bool
`jsonapi:"attr,can_see_nsfw"`
Created
string
`jsonapi:"attr,created"`
URL
string
`jsonapi:"attr,url"`
LikeCount
int
`jsonapi:"attr,like_count"`
HidePledges
bool
`jsonapi:"attr,hide_pledges"`
SocialConnections
*
json
.
RawMessage
`jsonapi:"attr,social_connections"`
Memberships
[]
*
Member
`jsonapi:"relation,memberships,omitempty"`
Campaign
*
Campaign
`jsonapi:"relation,campaign,omitempty"`
}
type
Webhook
struct
{
ID
string
`jsonapi:"primary,webhook"`
Triggers
[]
string
`jsonapi:"attr,triggers"`
URI
string
`jsonapi:"attr,uri"`
Paused
bool
`jsonapi:"attr,paused"`
LastAttemptedAt
string
`jsonapi:"attr,last_attempted_at"`
NumConsecutiveTimesFailed
int
`jsonapi:"attr,num_consecutive_times_failed"`
Secret
string
`jsonapi:"attr,secret"`
Client
*
OAuthClient
`jsonapi:"relation,client,omitempty"`
Campaign
*
Campaign
`jsonapi:"relation,campaign,omitempty"`
}