persistence

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDBDowngraded          = errors.New("database downgraded")
	ErrDBMigrationFailed     = errors.New("database migration failed")
	ErrCouldntFetchDBVersion = errors.New("couldn't fetch version")
)
View Source
var (
	ErrCouldntRollBackTx          = errors.New("db: couldn't roll back transaction")
	ErrCouldntGetTaskLogDetails   = errors.New("db: couldn't get task log details")
	ErrCouldntUpdateTaskTimeSpent = errors.New("db: couldn't update time spent on task")
	ErrCouldntPrepareStatement    = errors.New("db: couldn't prepare sql statement")
	ErrCouldntFinishActiveTL      = errors.New("db: couldn't finish active task log")
	ErrCouldntCreateTL            = errors.New("db: couldn't create new task log")
	ErrNoTaskActive               = errors.New("db: no task is being actively tracked right now")
	ErrCouldntGetActiveTask       = errors.New("db: couldn't get active task details")
	ErrCouldntLastInsertID        = errors.New("db: couldn't get ID of the row last inserted")
)

Functions

func DeleteActiveTL

func DeleteActiveTL(db *sql.DB) error

func DeleteTL

func DeleteTL(db *sql.DB, entry *types.TaskLogEntry) error

func EditActiveTL

func EditActiveTL(db *sql.DB, beginTs time.Time, comment *string) error

func EditSavedTL

func EditSavedTL(db *sql.DB, tlID int, beginTs time.Time, endTs time.Time, comment *string) (int, error)

func FetchActiveTaskDetails

func FetchActiveTaskDetails(db *sql.DB) (types.ActiveTaskDetails, error)

func FetchReportBetweenTS

func FetchReportBetweenTS(db *sql.DB, beginTs, endTs time.Time, limit int) ([]types.TaskReportEntry, error)

func FetchStats

func FetchStats(db *sql.DB, limit int) ([]types.TaskReportEntry, error)

func FetchStatsBetweenTS

func FetchStatsBetweenTS(db *sql.DB, beginTs, endTs time.Time, limit int) ([]types.TaskReportEntry, error)

func FetchTLEntries

func FetchTLEntries(db *sql.DB, desc bool, limit int) ([]types.TaskLogEntry, error)

func FetchTLEntriesBetweenTS

func FetchTLEntriesBetweenTS(db *sql.DB, beginTs, endTs time.Time, limit int) ([]types.TaskLogEntry, error)

func FetchTasks

func FetchTasks(db *sql.DB, active bool, limit int) ([]types.Task, error)

func FinishActiveTL

func FinishActiveTL(db *sql.DB, taskLogID int, taskID int, beginTs, endTs time.Time, secsSpent int, comment *string) error

func GetDB

func GetDB(dbpath string) (*sql.DB, error)

func InitDB

func InitDB(db *sql.DB) error

func InsertManualTL

func InsertManualTL(db *sql.DB, taskID int, beginTs time.Time, endTs time.Time, comment *string) (int, error)

func InsertNewTL

func InsertNewTL(db *sql.DB, taskID int, beginTs time.Time) (int, error)

func InsertTask

func InsertTask(db *sql.DB, summary string) (int, error)

func UpdateTask

func UpdateTask(db *sql.DB, id int, summary string) error

func UpdateTaskActiveStatus

func UpdateTaskActiveStatus(db *sql.DB, id int, active bool) error

func UpdateTaskData

func UpdateTaskData(db *sql.DB, t *types.Task) error

func UpgradeDB

func UpgradeDB(db *sql.DB, currentVersion int) error

func UpgradeDBIfNeeded

func UpgradeDBIfNeeded(db *sql.DB) error

Types

type QuickSwitchResult

type QuickSwitchResult struct {
	LastActiveTaskID    int
	CurrentlyActiveTLID int
}

func QuickSwitchActiveTL

func QuickSwitchActiveTL(db *sql.DB, newActiveTaskID int, ts time.Time) (QuickSwitchResult, error)

Jump to

Keyboard shortcuts

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