services

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package services contains Store

Index

Constants

This section is empty.

Variables

View Source
var ErrWrongStatus = errors.New("wrong status")

Functions

This section is empty.

Types

type CSVCodec

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

func NewCSVCodec

func NewCSVCodec(logger logger.Logger) (*CSVCodec, error)

func (*CSVCodec) LoadData

func (c *CSVCodec) LoadData() ([][]string, error)

LoadData loads whole data without header

func (*CSVCodec) ResetData

func (c *CSVCodec) ResetData() error

ResetData allows reset data

func (*CSVCodec) Save

func (c *CSVCodec) Save(row []string) error

Save new row to the csv First check if there is data in the csv, if there is none then add

func (*CSVCodec) Update

func (c *CSVCodec) Update(rowToUpdate []string) error

Update rewrites whole tasks list with the new record

type Persister

type Persister interface {
	Save([]string) error
	Update([]string) error
	ResetData() error
	LoadData() ([][]string, error)
}

type Status

type Status string
const (
	Started Status = "started"
	Done    Status = "done"
)

func (Status) IsValid

func (s Status) IsValid() error

type Store

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

func NewStore

func NewStore(persister Persister) *Store

func (*Store) LoadData

func (s *Store) LoadData() ([][]string, error)

func (*Store) ResetData

func (s *Store) ResetData() error

func (*Store) Save

func (s *Store) Save(task *Task) error

func (*Store) Update

func (s *Store) Update(task *Task) error

type Storer

type Storer interface {
	Save(*Task) error
	Update(*Task) error
	LoadData() ([][]string, error)
	ResetData() error
}

type Task

type Task struct {
	StartTime time.Time
	EndTime   time.Time
	Status    Status
}

func NewTask

func NewTask() *Task

func (*Task) Complete

func (t *Task) Complete()

func (*Task) Duration added in v1.1.0

func (t *Task) Duration() time.Duration

func (*Task) HasDone added in v1.1.0

func (t *Task) HasDone() bool

func (*Task) HasStarted

func (t *Task) HasStarted() bool

func (*Task) IsSameTask

func (t *Task) IsSameTask(startTime string) bool

func (*Task) IsTodaysTask added in v1.1.0

func (t *Task) IsTodaysTask() bool

func (*Task) Start

func (t *Task) Start()

type TaskService

type TaskService struct {
	Storer Storer
	Logger logger.Logger
	Tasks  *Tasks
}

func NewTaskService

func NewTaskService(s Storer, l logger.Logger) (*TaskService, error)

func (*TaskService) AddManual

func (ts *TaskService) AddManual(startTime, endTime time.Time) error

func (*TaskService) Complete

func (ts *TaskService) Complete() error

func (*TaskService) Create

func (ts *TaskService) Create() (*Task, error)

func (*TaskService) GetCurrentTask

func (ts *TaskService) GetCurrentTask() (*Task, error)

func (*TaskService) ResetData

func (ts *TaskService) ResetData() error

func (*TaskService) TotalDuration

func (ts *TaskService) TotalDuration() string

type Tasks

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

func NewTasks

func NewTasks(data [][]string, logger logger.Logger) (*Tasks, error)

func (*Tasks) AddTask added in v1.3.3

func (t *Tasks) AddTask(task *Task)

func (*Tasks) AllowNewTask

func (t *Tasks) AllowNewTask() error

func (*Tasks) GetCurrentTask

func (t *Tasks) GetCurrentTask() (*Task, error)

func (*Tasks) RemoveAll added in v1.3.3

func (t *Tasks) RemoveAll()

func (*Tasks) TotalDuration

func (t *Tasks) TotalDuration() time.Duration

func (*Tasks) UpdateTask added in v1.3.3

func (t *Tasks) UpdateTask(task *Task)

type UI added in v1.2.0

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

func NewUI added in v1.2.0

func NewUI() *UI

func (*UI) AddMenuItem added in v1.2.0

func (ui *UI) AddMenuItem(label, desc string, fn func())

func (*UI) Render added in v1.3.2

func (ui *UI) Render()

func (*UI) SetDisplayText added in v1.2.0

func (ui *UI) SetDisplayText(text string)

func (*UI) SetDynamicDisplayText added in v1.2.0

func (ui *UI) SetDynamicDisplayText(text string)

func (*UI) Stop added in v1.2.1

func (ui *UI) Stop()

func (*UI) SubmitForm added in v1.3.0

func (ui *UI) SubmitForm(fn func(string, string))

func (*UI) SwitchToForm added in v1.3.0

func (ui *UI) SwitchToForm()

func (*UI) SwitchToTextBase added in v1.3.0

func (ui *UI) SwitchToTextBase()

Jump to

Keyboard shortcuts

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