refactor to use app package instead of service

refactor app to be composable
This commit is contained in:
Robin Olsen
2026-02-28 23:30:31 +01:00
parent ba4d3df669
commit aabce0b0b2
56 changed files with 385 additions and 279 deletions

View File

@@ -0,0 +1,37 @@
package app
import (
"context"
"errors"
"github.com/LazyBachelor/LazyPM/internal/models"
"github.com/LazyBachelor/LazyPM/internal/storage"
)
type StatisticsService struct {
storage *storage.Storage[models.Statistics]
}
func NewStatisticsService(storage *storage.Storage[models.Statistics]) (*StatisticsService, error) {
if err := storage.Init(); err != nil {
return nil, err
}
return &StatisticsService{
storage: storage,
}, nil
}
func (s *StatisticsService) Load(ctx context.Context) error {
return s.storage.Load()
}
func (s *StatisticsService) Save(ctx context.Context) error {
return s.storage.Save()
}
func (s *StatisticsService) GetStatistics() (models.Statistics, error) {
if s.storage.Data == nil {
return models.Statistics{}, errors.New("statistics data not initialized")
}
return *s.storage.Data, nil
}