77 lines
2.9 KiB
Go
77 lines
2.9 KiB
Go
package structs
|
|
|
|
type FanslyBaseResponse[T any] struct {
|
|
Success bool `json:"success"` // Indicates if the request was successful
|
|
Response T `json:"response"` // The response data, type of T
|
|
}
|
|
|
|
type FanslyAccountResponse struct {
|
|
Account FanslyAccount `json:"account"`
|
|
}
|
|
|
|
type FanslyFollowResponse struct {
|
|
Followers []struct {
|
|
FollowerID string `json:"followerId"` // The ID of the follower
|
|
}
|
|
}
|
|
|
|
type FanslySubscriptionResponse struct {
|
|
Subscriptions []Subscription `json:"subscriptions"` // List of subscriptions
|
|
Stats SubStats `json:"stats"` // Subscription statistics
|
|
}
|
|
|
|
type SubStats struct {
|
|
TotalActive int `json:"totalActive"`
|
|
TotalExpired int `json:"totalExpired"`
|
|
Total int `json:"total"`
|
|
}
|
|
|
|
type Subscription struct {
|
|
ID string `json:"id"`
|
|
HistoryID string `json:"historyId"`
|
|
SubscriberID string `json:"subscriberId"`
|
|
SubscriptionTierID string `json:"subscriptionTierId"`
|
|
SubscriptionTierName string `json:"subscriptionTierName"`
|
|
SubscriptionTierColor string `json:"subscriptionTierColor"`
|
|
PlanID string `json:"planId"`
|
|
PromoID string `json:"promoId"`
|
|
GiftCodeID any `json:"giftCodeId"`
|
|
PaymentMethodID string `json:"paymentMethodId"`
|
|
Status int `json:"status"`
|
|
Price int `json:"price"`
|
|
RenewPrice int `json:"renewPrice"`
|
|
RenewCorrelationID string `json:"renewCorrelationId"`
|
|
AutoRenew int `json:"autoRenew"`
|
|
BillingCycle int `json:"billingCycle"`
|
|
Duration int `json:"duration"`
|
|
RenewDate int64 `json:"renewDate"`
|
|
Version int `json:"version"`
|
|
CreatedAt int64 `json:"createdAt"`
|
|
UpdatedAt int64 `json:"updatedAt"`
|
|
EndsAt int64 `json:"endsAt"`
|
|
PromoPrice any `json:"promoPrice"`
|
|
PromoDuration any `json:"promoDuration"`
|
|
PromoStatus any `json:"promoStatus"`
|
|
PromoStartsAt any `json:"promoStartsAt"`
|
|
PromoEndsAt any `json:"promoEndsAt"`
|
|
}
|
|
|
|
type FanslyAccount struct {
|
|
ID string `json:"id"`
|
|
Email string `json:"email"`
|
|
Username string `json:"username"`
|
|
DisplayName string `json:"displayName,omitempty"`
|
|
Flags int `json:"flags"`
|
|
Version int `json:"version"`
|
|
CreatedAt int64 `json:"createdAt"`
|
|
FollowCount int `json:"followCount"`
|
|
SubscriberCount int `json:"subscriberCount"`
|
|
AccountMediaLikes int `json:"accountMediaLikes"`
|
|
StatusID int `json:"statusId"`
|
|
LastSeenAt int `json:"lastSeenAt"`
|
|
About string `json:"about,omitempty"`
|
|
Location string `json:"location,omitempty"`
|
|
PostLikes int `json:"postLikes"`
|
|
ProfileAccess bool `json:"profileAccess"`
|
|
}
|