database

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

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

Go to latest
Published: Apr 15, 2025 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewWithMigrations

func NewWithMigrations(dbPath string, migrationsPath string) (*sql.DB, error)

NewWithMigrations creates the database at the given path, and runs the migrations using "file" driver

Types

type Article

type Article struct {
	ID               int64          `db:"id"`
	SubscriptionId   int64          `db:"subscription_id"`
	New              bool           `db:"new"`
	Url              string         `db:"url"`
	Title            string         `db:"title"`
	Description      sql.NullString `db:"description"`
	Thumbnail        sql.NullString `db:"thumbnail"`
	Created          sql.NullString `db:"created"`
	ReadLater        bool           `db:"readlater"`
	CreatedReadLater sql.NullString `db:"created_readlater"`
}

type ArticleRepository

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

func NewArticleRepository

func NewArticleRepository(db *sqlx.DB) ArticleRepository

func (ArticleRepository) AddToReadLater

func (r ArticleRepository) AddToReadLater(a *Article) (err error)

AddToReadLater adds the article to the read later list.

func (ArticleRepository) All

func (r ArticleRepository) All() (out []Article, err error)

func (ArticleRepository) ArticlesInSubscription

func (r ArticleRepository) ArticlesInSubscription(id int64) ([]Article, error)

ArticlesInSubscription fetches all the articles that belong to the subscription with the specified id.

func (ArticleRepository) BulkAddArticles

func (r ArticleRepository) BulkAddArticles(a []Article) (err error)

func (ArticleRepository) Exists

func (r ArticleRepository) Exists(url string) (exists bool, err error)

func (ArticleRepository) Find

func (r ArticleRepository) Find(id int64) (*Article, error)

func (ArticleRepository) InReadLater

func (r ArticleRepository) InReadLater() ([]ArticleWithSubscription, error)

InReadLater returns all articles flagged as read later

func (ArticleRepository) InsertArticle

func (r ArticleRepository) InsertArticle(a *Article) (err error)

func (ArticleRepository) MarkRead

func (r ArticleRepository) MarkRead(a *Article) error

func (ArticleRepository) RemoveFromReadLater

func (r ArticleRepository) RemoveFromReadLater(a *Article) (err error)

func (ArticleRepository) Unread

func (r ArticleRepository) Unread() (out []ArticleWithSubscription, err error)

func (ArticleRepository) UpdateArticle

func (r ArticleRepository) UpdateArticle(db *sqlx.DB, a Article) (err error)

type ArticleWithSubscription

type ArticleWithSubscription struct {
	Article
	Subscription Subscription `db:"sub"`
}

type Subscription

type Subscription struct {
	ID          int64          `db:"id"`
	Type        string         `db:"type"`
	Url         string         `db:"url"`
	Title       string         `db:"title"`
	Description sql.NullString `db:"description"`
	Thumbnail   sql.NullString `db:"thumbnail"`
}

type SubscriptionRepository

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

func NewSubscriptionRepository

func NewSubscriptionRepository(db *sqlx.DB) SubscriptionRepository

func (SubscriptionRepository) All

func (SubscriptionRepository) Find

func (SubscriptionRepository) FindByUrl

func (r SubscriptionRepository) FindByUrl(url string) (*Subscription, error)

func (SubscriptionRepository) InsertSubscription

func (r SubscriptionRepository) InsertSubscription(s *Subscription) (err error)

InsertSubscription inserts the given structure into the database, and sets the ID property on the Subscription.

func (SubscriptionRepository) SubscriptionExists

func (r SubscriptionRepository) SubscriptionExists(url string) (exists bool, id int64, err error)

func (SubscriptionRepository) UpdateSubscription

func (r SubscriptionRepository) UpdateSubscription(s Subscription) (err error)

type Token

type Token struct {
	ID         int64          `db:"id"`
	Token      string         `db:"token"`
	CreatedAt  sql.NullString `db:"created_at"`
	ValidUntil sql.NullString `db:"valid_until"`
}

type TokenRepository

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

func NewTokenRepository

func NewTokenRepository(db *sqlx.DB) TokenRepository

func (TokenRepository) Delete

func (r TokenRepository) Delete(t Token) (err error)

func (TokenRepository) Find

func (r TokenRepository) Find(tokenStr string) (*Token, error)

Find finds a token by it's value.

func (TokenRepository) Insert

func (r TokenRepository) Insert(t *Token) (err error)

Insert inserts a token into the database, and sets the id property on a token to the newly created row id.

Jump to

Keyboard shortcuts

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