add statistics storage

This commit is contained in:
Robin Olsen
2026-01-31 21:07:09 +01:00
parent a3a1d71325
commit 4225d202bb
10 changed files with 154 additions and 24 deletions

View File

@@ -1,13 +1,27 @@
package service
import "beadstest/internal/storage"
import (
"beadstest/internal/models"
"beadstest/internal/storage"
"errors"
)
type StatisticsService struct {
storage *storage.StatisticsStorage
storage *storage.Storage[models.Statistics]
}
func NewStatisticsService(storage *storage.StatisticsStorage) *StatisticsService {
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) GetStatistics() (models.Statistics, error) {
if s.storage.Data == nil {
return models.Statistics{}, errors.New("statistics data not initialized")
}
return *s.storage.Data, nil
}