db

package
v0.0.0-...-e3dc589 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const ChangeLibraryDeleteMode = "delete"
View Source
const ChangeLibraryMergeMode = "merge"
View Source
const SourceKindArticle = base.SourceKindArticle
View Source
const SourceKindBook = base.SourceKindBook
View Source
const SourceKindPerson = base.SourceKindPerson
View Source
const SourceKindUnknown = base.SourceKindUnknown
View Source
const UserStateChangingLibrary = base.UserStateChangingLibrary
View Source
const UserStateConfirmingLibraryChange = base.UserStateConfirmingLibraryChange
View Source
const UserStateEditingSource = base.UserStateEditingSource
View Source
const UserStateNormal = base.UserStateNormal

Variables

View Source
var ErrNotFound = pgx.ErrNoRows
View Source
var VALID_SOURCE_KINDS []string = []string{"unknown", "book", "person", "article"}

Functions

This section is empty.

Types

type CreateQuoteResult

type CreateQuoteResult = base.CreateQuoteRow

type DB

type DB struct {
	Timeout time.Duration
	// contains filtered or unexported fields
}

func NewDB

func NewDB(URL string, timeout time.Duration) (*DB, error)

func (*DB) ActivateOutput

func (db *DB) ActivateOutput(userID int64, outputChatID int64) (*Output, error)

func (*DB) Close

func (db *DB) Close()

func (*DB) CreateQuoteWithData

func (db *DB) CreateQuoteWithData(libraryID int64, text, mainSource string, tagNames []string, sourceNames []string) (*CreateQuoteResult, error)

func (*DB) CreateSource

func (db *DB) CreateSource(libraryID int64, name string) (*Source, error)

func (*DB) DEBUGCleanDB

func (db *DB) DEBUGCleanDB() error

func (*DB) DeactivateExpiredSources

func (db *DB) DeactivateExpiredSources() ([]User, error)

func (*DB) DeactivateOutput

func (db *DB) DeactivateOutput(userID int64, outputChatID int64) (*Output, error)

func (*DB) DeactivateSource

func (db *DB) DeactivateSource(userID int64) (*User, error)

func (*DB) DeleteLibraryToken

func (db *DB) DeleteLibraryToken(libraryID int64) (*Library, error)

func (*DB) DeleteOutput

func (db *DB) DeleteOutput(userID int64, outputChatID int64) error

func (*DB) DeleteUserCurrentLibraryAndMigrateTo

func (db *DB) DeleteUserCurrentLibraryAndMigrateTo(userID, currLibraryID, newLibraryID int64) error

func (*DB) GetLibrary

func (db *DB) GetLibrary(libraryID int64) (*Library, error)

func (*DB) GetLibraryByUUID

func (db *DB) GetLibraryByUUID(UUID uuid.UUID) (*Library, error)

func (*DB) GetOrCreateOutput

func (db *DB) GetOrCreateOutput(userID int64, chatID int64, chatTitle string) (*Output, bool, error)

func (*DB) GetOrCreateUser

func (db *DB) GetOrCreateUser(ID, ChatID int64, firstName string) (*User, bool, error)

func (*DB) GetOutput

func (db *DB) GetOutput(userID int64, outputChatID int64) (*Output, error)

func (*DB) GetOutputs

func (db *DB) GetOutputs(userID int64) ([]Output, error)

func (*DB) GetSource

func (db *DB) GetSource(libraryID int64, name string) (*Source, error)

func (*DB) GetSourceByID

func (db *DB) GetSourceByID(libraryID int64, sourceID int64) (*Source, error)

func (*DB) GetUser

func (db *DB) GetUser(ID int64) (*User, error)

func (*DB) Init

func (db *DB) Init() error

func (*DB) MergeUserCurrentLibraryAndMigrateTo

func (db *DB) MergeUserCurrentLibraryAndMigrateTo(userID, currLibraryID, newLibraryID int64) error

func (*DB) QuerySources

func (db *DB) QuerySources(p QuerySourcesParams) ([]Source, error)

func (*DB) SearchQuotes

func (db *DB) SearchQuotes(libraryID int64, query string, limit int32) ([]QuoteSearchResult, error)

func (*DB) SetActiveSource

func (db *DB) SetActiveSource(userID int64, activeSourceStr string, activeSourceExpireTime time.Time) (*User, error)

func (*DB) SetLibraryToken

func (db *DB) SetLibraryToken(libraryID int64, UUID uuid.UUID, expiresOn time.Time) (*Library, error)

func (*DB) SetSourceArticle

func (db *DB) SetSourceArticle(libraryID int64, sourceID int64, sourceData *SourceArticleData) (*Source, error)

func (*DB) SetSourceBook

func (db *DB) SetSourceBook(libraryID int64, sourceID int64, sourceData *SourceBookData) (*Source, error)

func (*DB) SetSourcePerson

func (db *DB) SetSourcePerson(libraryID int64, sourceID int64, sourceData *SourcePersonData) (*Source, error)

func (*DB) SetSourceUnknown

func (db *DB) SetSourceUnknown(libraryID int64, sourceID int64) (*Source, error)

func (*DB) SetUserStateChangingLibrary

func (db *DB) SetUserStateChangingLibrary(userID int64, libraryID int64) (*User, error)

func (*DB) SetUserStateConfirmingLibraryChange

func (db *DB) SetUserStateConfirmingLibraryChange(userID int64, libraryID int64, mode string) (*User, error)

func (*DB) SetUserStateEditingSource

func (db *DB) SetUserStateEditingSource(userID int64, sourceID int64) (*User, error)

func (*DB) SetUserStateNormal

func (db *DB) SetUserStateNormal(userID int64) (*User, error)

func (*DB) UpdateSource

func (db *DB) UpdateSource(libraryID int64, source *Source) (*Source, error)

type Library

type Library = base.Library

type Output

type Output = base.Output

type QuerySourcesParams

type QuerySourcesParams struct {
	LibraryID  int64
	NameQuery  string
	SourceKind string
	Limit      int32
	BaseID     int64
	Before     bool
}

type QuoteSearchResult

type QuoteSearchResult = base.SearchQuotesRow

type Source

type Source = base.Source

type SourceArticleData

type SourceArticleData struct {
	URL    string `json:"url,omitempty"`
	Author string `json:"author,omitempty"`
}

type SourceBookData

type SourceBookData struct {
	Author       string `json:"author,omitempty"`
	LinkToInfo   string `json:"linkToInfo,omitempty"`
	LinkToAuthor string `json:"linkToAuthor,omitempty"`
}

type SourceKind

type SourceKind = base.SourceKind

type SourcePersonData

type SourcePersonData struct {
	LinkToInfo string    `json:"linkToInfo,omitempty"`
	Title      string    `json:"title,omitempty"`
	BornOn     time.Time `json:"bornOn,omitempty"`
	DeathOn    time.Time `json:"deathOn,omitempty"`
}

TODO: convert bornOn and deathOn to integers (only year is important)

type StateChangingLibraryData

type StateChangingLibraryData struct {
	LibraryID int64 `json:"libraryID"`
}

type StateConfirmingLibraryChangeData

type StateConfirmingLibraryChangeData struct {
	LibraryID int64  `json:"libraryID"`
	Mode      string `json:"mode"`
}

type StateEditingSourceData

type StateEditingSourceData struct {
	SourceID int64 `json:"sourceID"`
}

type User

type User = base.User

type UserState

type UserState = base.UserState

Jump to

Keyboard shortcuts

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