services

package
v1.4.3 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 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

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

func (*Task) HasDone

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

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(st, d string) error

AddManual Data came as; StarTime 11:00:00 Duration 1h20m30s

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

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

func (t *Tasks) RemoveAll()

func (*Tasks) TotalDuration

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

func (*Tasks) UpdateTask

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

Directories

Path Synopsis
Package ui responsible with ui
Package ui responsible with ui

Jump to

Keyboard shortcuts

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