persistence

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2021 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const DatabaseName = "gott.db"

Variables

This section is empty.

Functions

This section is empty.

Types

type SqliteRepository

type SqliteRepository struct {
	Clock utils.Clock
	// contains filtered or unexported fields
}

SqliteRepository represents the connection to a SQLite database.

func NewSqliteRepository

func NewSqliteRepository() (*SqliteRepository, error)

NewSqliteRepository creates a new SQLite repository struct

func (*SqliteRepository) Add

func (repo *SqliteRepository) Add(activity core.Activity) error

Add adds a new activity to the database

func (*SqliteRepository) CurrentlyTrackedActivity

func (repo *SqliteRepository) CurrentlyTrackedActivity() (*core.Activity, error)

CurrentlyTrackedActivity returns the activity beeing currently tracked, if any

func (*SqliteRepository) Delete

func (repo *SqliteRepository) Delete(activityNameOrAlias string) error

Delete deletes an activity from the database

func (*SqliteRepository) Find

func (repo *SqliteRepository) Find(activityNameOrAlias string) (*core.Activity, error)

Find returns an activity

func (*SqliteRepository) Initialize

func (repo *SqliteRepository) Initialize(config config.Config) error

Initialize initializes the connection to the database

func (*SqliteRepository) List

func (repo *SqliteRepository) List() ([]core.Activity, error)

List returns a list with all the activities in the database

func (*SqliteRepository) LogsForPeriod

func (repo *SqliteRepository) LogsForPeriod(period core.Period) (map[string][]core.ActivityDurationDayAggregation, error)

LogsForPeriod returns a list of activity logs for a given period

func (*SqliteRepository) Shutdown

func (repo *SqliteRepository) Shutdown() error

Shutdown shutsdown the database

func (*SqliteRepository) Start

func (repo *SqliteRepository) Start(activity core.Activity) error

Start starts tracking the time for an activity

func (*SqliteRepository) Stop

func (repo *SqliteRepository) Stop(activity core.Activity) error

Stop stops tracking the time for an activity

func (*SqliteRepository) Update

func (repo *SqliteRepository) Update(activityNameOrAlias string, updateOp core.UpdateActivity) error

Update updates an activity

func (*SqliteRepository) WipeLogsPeriod

func (repo *SqliteRepository) WipeLogsPeriod(period core.Period) error

WipeLogsPeriodAndActivity deletes logs for a given period

func (*SqliteRepository) WipeLogsPeriodAndActivity

func (repo *SqliteRepository) WipeLogsPeriodAndActivity(period core.Period, activity *core.Activity) error

WipeLogsPeriodAndActivity deletes logs for a given activity and for a given period

Jump to

Keyboard shortcuts

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