db

package
v0.0.31 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2021 License: GPL-2.0, GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Database

type Database interface {
	AddURL(url *models.URL) error
	RemoveURL(url *models.URL) error
	GetURL(shortURL string) (string, error)
	GetURLs(user *models.User) ([]*models.URL, error)

	AddUser(user *models.User) error
	RemoveUser(user *models.User) error
	GetUser(user *models.User) (*models.User, error)

	AddURLData(urlData *models.URLData) error
	RemoveURLData(url *models.URL) error
	GetURLData(url *models.URL) ([]*models.URLData, error)

	AddSession(sess *models.Session) error
	RemoveSession(sess *models.Session) error
	GetSession(token string) (*models.Session, error)
}

Database represents a database that can be used for the program

type SQLite

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

SQLite represents a sqlite database for the program

func NewSQLiteDB

func NewSQLiteDB() *SQLite

NewSQLiteDB returns a singleton SQLite instance

func (*SQLite) AddSession added in v0.0.3

func (s *SQLite) AddSession(sess *models.Session) error

AddSession adds a new session to the database

func (*SQLite) AddURL

func (s *SQLite) AddURL(url *models.URL) error

AddURL add a new url entry to the database

func (*SQLite) AddURLData

func (s *SQLite) AddURLData(urlData *models.URLData) error

AddURLData adds data of a certain url, and returns an occurred error

func (*SQLite) AddUser

func (s *SQLite) AddUser(user *models.User) error

AddUser adds a user to the database

func (*SQLite) GetSession added in v0.0.3

func (s *SQLite) GetSession(token string) (*models.Session, error)

GetSession returns a specific session from the database

func (*SQLite) GetURL

func (s *SQLite) GetURL(shortURL string) (string, error)

GetURL returns the full URL of a short URL

func (*SQLite) GetURLData

func (s *SQLite) GetURLData(url *models.URL) ([]*models.URLData, error)

GetURLData returns a slice of URLData of the given URL and an occurred error

func (*SQLite) GetURLs

func (s *SQLite) GetURLs(user *models.User) ([]*models.URL, error)

GetURLs returns a map that has short URLs of the given user

func (*SQLite) GetUser

func (s *SQLite) GetUser(user *models.User) (*models.User, error)

GetUser returns an existing user from the database

func (*SQLite) RemoveSession added in v0.0.3

func (s *SQLite) RemoveSession(sess *models.Session) error

RemoveSession a specific session from the database

func (*SQLite) RemoveURL

func (s *SQLite) RemoveURL(url *models.URL) error

RemoveURL sets short URL's row's values to zero, to minimize handlers regeneration :)

func (*SQLite) RemoveURLData

func (s *SQLite) RemoveURLData(url *models.URL) error

RemoveURLData removes all the data of a given URL, and returns an occurred error

func (*SQLite) RemoveUser

func (s *SQLite) RemoveUser(user *models.User) error

RemoveUser removes the given user from the database

Jump to

Keyboard shortcuts

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