This repository has been archived on 2022-03-09. You can view files and clone it, but cannot push or open issues or pull requests.
snoo2nebby/vendor/github.com/turnage/redditproto/responses.go

80 lines
3.5 KiB
Go

package redditproto
import (
"encoding/json"
)
// redditThing represents the Thing class Reddit encloses all of its responses
// in.
type redditThing struct {
// Kind defines the type of the Data field.
Kind string
// Data can contain basically anything. It's exciting that way.
Data json.RawMessage
}
// redditListing represents one of the many lovely layers of misdirection Reddit
// uses to prevent developers from inferring the types of their JSON messages.
type redditListing struct {
// Children is a list of surprises. There's no knowing what type each
// redditThing is! Be sure to check their Kind fields.
Children []*redditThing
}
// listingBuffer holds slices of the children in a listing.
type listingBuffer struct {
comments []*Comment
links []*Link
messages []*Message
}
// commentResponse represents the JSON message Reddit returns to represent
// comments.
type commentResponse struct {
ApprovedBy *string `json:"approved_by,omitempty"`
Author *string `json:"author,omitempty"`
AuthorFlairCssClass *string `json:"author_flair_css_class,omitempty"`
AuthorFlairText *string `json:"author_flair_text,omitempty"`
BannedBy *string `json:"banned_by,omitempty"`
Body *string `json:"body,omitempty"`
BodyHtml *string `json:"body_html,omitempty"`
Gilded *int32 `json:"gilded,omitempty"`
LinkAuthor *string `json:"link_author,omitempty"`
LinkUrl *string `json:"link_url,omitempty"`
NumReports *int32 `json:"num_reports,omitempty"`
ParentId *string `json:"parent_id,omitempty"`
Replies json.RawMessage `json:"replies,omitempty"`
Subreddit *string `json:"subreddit,omitempty"`
SubredditId *string `json:"subreddit_id,omitempty"`
Distinguished *string `json:"distinguished,omitempty"`
Created *float64 `json:"created,omitempty"`
CreatedUtc *float64 `json:"created_utc,omitempty"`
Ups *int32 `json:"ups,omitempty"`
Downs *int32 `json:"downs,omitempty"`
Likes *bool `json:"likes,omitempty"`
Id *string `json:"id,omitempty"`
Name *string `json:"name,omitempty"`
}
// messageResponse represents the JSON message Reddit returns to represent
// messages.
type messageResponse struct {
Author *string `json:"author,omitempty"`
Body *string `json:"body,omitempty"`
BodyHtml *string `json:"body_html,omitempty"`
Context *string `json:"context,omitempty"`
FirstMessageName *string `json:"first_message_name,omitempty"`
Likes *bool `json:"likes,omitempty"`
LinkTitle *string `json:"link_title,omitempty"`
New *bool `json:"new,omitempty"`
ParentId *string `json:"parent_id,omitempty"`
Replies json.RawMessage `json:"replies,omitempty"`
Subject *string `json:"subject,omitempty"`
Subreddit *string `json:"subreddit,omitempty"`
WasComment *bool `json:"was_comment,omitempty"`
Created *float64 `json:"created,omitempty"`
CreatedUtc *float64 `json:"created_utc,omitempty"`
Id *string `json:"id,omitempty"`
Name *string `json:"name,omitempty"`
}