package repository import ( "context" dbgen "github.com/SamuelTariku/FortuneBet-Backend/gen/db" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" "github.com/SamuelTariku/FortuneBet-Backend/internal/ports" ) // Interface for creating new company stats store func NewCompanyStatStore(s *Store) ports.CompanyStatStore { return s } func (s *Store) UpdateCompanyStats(ctx context.Context) error { return s.queries.UpdateCompanyStats(ctx) } func (s *Store) GetCompanyStatByID(ctx context.Context, companyID int64) ([]domain.CompanyStat, error) { stats, err := s.queries.GetCompanyStatsByID(ctx, companyID) if err != nil { return nil, err } return domain.ConvertDBCompanyStatsList(stats), nil } func (s *Store) GetCompanyStatsByInterval(ctx context.Context, filter domain.CompanyStatFilter) ([]domain.CompanyStat, error) { stats, err := s.queries.GetCompanyStats(ctx, dbgen.GetCompanyStatsParams{ Interval: filter.Interval.ToPG(), CompanyID: filter.CompanyID.ToPG(), }) if err != nil { return nil, err } return domain.ConvertDBCompanyStatsByIntervalList(stats), nil }