sqlite3

package
v0.0.0-...-1cf6d8d Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DBEntry

type DBEntry struct {
	ID   int       `db:"id"`
	Date time.Time `db:"date"`

	SubmissionID int `db:"submission_id"`
}

type DBSubmission

type DBSubmission struct {
	ID int `db:"id"`

	SubredditID int `db:"subreddit_id"`

	// Reddit post metadata
	Author    string    `db:"author"`
	Permalink string    `db:"permalink"`
	PostID    string    `db:"post_id"`
	PostedAt  time.Time `db:"created_utc"`
	Score     int       `db:"score"`
	Title     string    `db:"title"`

	// Attached image metadata
	ImageDomain string `db:"domain"`
	ImageURL    string `db:"url"`
	ImageNSFW   bool   `db:"over_18"`

	// Local image metadata
	ImageFilename string `db:"image_filename"`
	ImageHeightPx int    `db:"image_height_px"`
	ImageWidthPx  int    `db:"image_width_px"`
}

func (*DBSubmission) AsSubmission

func (s *DBSubmission) AsSubmission(sr *submission.Subreddit) *submission.Submission

type Repository

type Repository struct {
	// contains filtered or unexported fields
}

Repository provides a SQLite3 database persistence layer for Subreddits.

func NewRepository

func NewRepository(db *sqlx.DB) *Repository

NewRepository initializes and returns a SQLite3 repository to persist and manage Subreddits.

func (*Repository) HistoryCreate

func (r *Repository) HistoryCreate(entry *history.Entry) error

func (*Repository) HistoryGetAll

func (r *Repository) HistoryGetAll() ([]*history.Entry, error)

func (*Repository) HistoryGetCurrent

func (r *Repository) HistoryGetCurrent() (*history.Entry, error)

func (*Repository) SubmissionCreate

func (r *Repository) SubmissionCreate(s *submission.Submission) error

func (*Repository) SubmissionGetByID

func (r *Repository) SubmissionGetByID(id int) (*submission.Submission, error)

func (*Repository) SubmissionGetByMinResolution

func (r *Repository) SubmissionGetByMinResolution(minResolution *monitor.Resolution) ([]*submission.Submission, error)

func (*Repository) SubmissionGetByPostID

func (r *Repository) SubmissionGetByPostID(postID string) (*submission.Submission, error)

func (*Repository) SubmissionGetRandom

func (r *Repository) SubmissionGetRandom(minResolution *monitor.Resolution) (*submission.Submission, error)

func (*Repository) SubmissionIsPostIDRegistered

func (r *Repository) SubmissionIsPostIDRegistered(postID string) (bool, error)

func (*Repository) SubmissionSearch

func (r *Repository) SubmissionSearch(text string) ([]*submission.Submission, error)

func (*Repository) SubredditCreate

func (r *Repository) SubredditCreate(s *submission.Subreddit) error

func (*Repository) SubredditGetAll

func (r *Repository) SubredditGetAll() ([]*submission.Subreddit, error)

func (*Repository) SubredditGetByID

func (r *Repository) SubredditGetByID(id int) (*submission.Subreddit, error)

func (*Repository) SubredditGetByName

func (r *Repository) SubredditGetByName(name string) (*submission.Subreddit, error)

func (*Repository) SubredditGetStats

func (r *Repository) SubredditGetStats() ([]submission.SubredditStats, error)

func (*Repository) SubredditIsNameRegistered

func (r *Repository) SubredditIsNameRegistered(name string) (bool, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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