submission

package
v0.0.0-...-86e37b2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 22, 2019 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	Backend *http.Client
}

Client is used to make the HTTP requests for Submissions.

func (Client) Search

func (c Client) Search(params SearchParams) List

Search returns a List from the given params.

type Image

type Image struct {
	ID          string
	Resolutions []Resolution
	Variants    interface{}
}

Image holds metadata about images

type List

type List struct {
	Data []*Submission `json:"data"`
}

List is a struct representing a list of Submissions returned from the PushShift API.

func Search(params SearchParams) List

Search returns a List from the given params.

type Media

type Media struct {
	Oembed Oembed `json:"oembed"`
	Type   string `json:"type"`
}

Media is a struct within Submisison that holds information about embedded media.

type Oembed

type Oembed struct {
	AuthorName      string `json:"author_name"`
	AuthorURL       string `json:"author_url"`
	Height          int    `json:"height"`
	HTML            string `json:"html"`
	ProviderName    string `json:"provider_name"`
	ProviderURL     string `json:"provider_url"`
	ThumbnailHeight int    `json:"thumbnail_height"`
	ThumbnailURL    string `json:"thumbnail_url"`
	ThumbnailWidth  int    `json:"thumbnail_width"`
	Title           string `json:"title"`
	Type            string `json:"type"`
	Version         string `json:"version"`
	Width           int    `json:"width"`
}

Oembed is a struct within Media that holds information about embedded media.

type Preview

type Preview struct {
	Enabled bool
	Images  []Image
}

Preview is a struct within Submission that holds image preview information

type Resolution

type Resolution struct {
	Height int
	URL    string
	Width  int
}

Resolution holds metadata about image resolutions.

type SearchParams

type SearchParams struct {
	Over18            bool   `url:"over_18,omitempty"`
	Locked            bool   `url:"locked,omitempty"`
	Spoiler           bool   `url:"spoiler,omitempty"`
	IsVideo           bool   `url:"is_video,omitempty"`
	IsSelf            bool   `url:"is_self,omitempty"`
	IsOriginalContent bool   `url:"is_original_content,omitempty"`
	IsCrosspostable   bool   `url:"is_crosspostable,omitempty"`
	CanGuild          bool   `url:"can_guild,omitempty"`
	Title             string `url:"title,omitempty"`
	Selftext          string `url:"selftext,omitempty"`
	URL               string `url:"url,omitempty"`
	Domain            string `url:"domain,omitempty"`

	// Common filters. Not sure how to abstract these out while keeping the API nice.
	Sort          string `url:"sort,omitempty"`
	SortType      string `url:"sort_type,omitempty"`
	After         int    `url:"after,omitempty"`
	Before        int    `url:"before,omitempty"`
	AfterID       int    `url:"after_id,omitempty"`
	BeforeID      int    `url:"before_id,omitempty"`
	CreatedUTC    int    `url:"created_utc,omitempty"`
	Score         int    `url:"score,omitempty"`
	Gilded        int    `url:"gilded,omitempty"`
	Edited        bool   `url:"edited,omitempty"`
	Author        string `url:"author,omitempty"`
	Subreddit     string `url:"subreddit,omitempty"`
	Distinguished string `url:"distinguished,omitempty"`
	RetrievedOn   int    `url:"retrieved_on,omitempty"`
	LastUpdated   int    `url:"last_updated,omitempty"`
	Q             string `url:"q,omitempty"`
	ID            int    `url:"id,omitempty"`
	Metadata      bool   `url:"metadata,omitempty"`
	Pretty        bool   `url:"pretty,omit"`
	Limit         int    `url:"limit,omitempty"`
}

SearchParams holds query params for a submission search.

type Submission

type Submission struct {
	IsRedditMediaDomain   bool    `json:"is_reddit_media_domain"`
	WhitelistStatus       string  `json:"whitelist_status"`
	ParentWhitelistStatus string  `json:"parent_whitelist_status"`
	NoFollow              bool    `json:"no_follow"`
	SendReplies           bool    `json:"send_replies"`
	LinkFlairCSSClass     string  `json:"link_flair_css"`
	LinkFlairText         string  `json:"link_flair_text"`
	NumCrossposts         int     `json:"num_crossposts"`
	Over18                bool    `json:"over_18"`
	Locked                bool    `json:"locked"`
	Spoiler               bool    `json:"spoiler"`
	IsVideo               bool    `json:"is_video"`
	IsSelf                bool    `json:"is_self"`
	IsOriginalContent     bool    `json:"is_original_content"`
	IsCrosspostable       bool    `json:"is_crosspostable"`
	CanGuild              bool    `json:"can_guild"`
	Title                 string  `json:"title"`
	Selftext              string  `json:"selftext"`
	URL                   string  `json:"URL"`
	Domain                string  `json:"domain"`
	Media                 Media   `json:"media"`
	Preview               Preview `json:"preview"`
	MediaOnly             bool    `json:"media_only"`
	NumComments           int     `json:"num_comments"`
	Pinned                bool    `json:"pinned"`
	PostHint              string  `json:"post_hint"`
	Pwls                  int     `json:"pwls"`
	RemovedBy             string  `json:"removed_by"`
	Score                 int     `json:"score"`
}

Submission is the struct representing a submission.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL