package ports import ( "context" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) type VirtualGameReportStore interface { CreateFinancialReport(ctx context.Context, report domain.FinancialReport) (domain.FinancialReport, error) UpsertFinancialReport(ctx context.Context, report domain.FinancialReport) (domain.FinancialReport, error) GetFinancialReportByID(ctx context.Context, id int64) (domain.FinancialReport, error) GetFinancialReportsForGame(ctx context.Context, gameID, providerID string, from, to string) ([]domain.FinancialReport, error) GetDailyFinancialReports(ctx context.Context, reportDate string) ([]domain.FinancialReport, error) DeleteFinancialReport(ctx context.Context, id int64) error CreateCompanyReport(ctx context.Context, report domain.CompanyReport) (domain.CompanyReport, error) UpsertCompanyReport(ctx context.Context, report domain.CompanyReport) (domain.CompanyReport, error) GetCompanyReportByID(ctx context.Context, id int64) (domain.CompanyReport, error) GetCompanyReportsInRange(ctx context.Context, companyID int64, providerID string, startDate, endDate string) ([]domain.CompanyReport, error) GetCompanyProfitTrend(ctx context.Context, companyID int64, providerID string, startDate, endDate string) ([]domain.CompanyProfitTrend, error) CreatePlayerActivityReport(ctx context.Context, report domain.PlayerActivityReport) (domain.PlayerActivityReport, error) GetPlayerActivityByID(ctx context.Context, id int64) (domain.PlayerActivityReport, error) GetPlayerActivityByDate(ctx context.Context, userID int64, reportDate, reportType string) (domain.PlayerActivityReport, error) GetPlayerActivityRange(ctx context.Context, userID int64, startDate, endDate string) ([]domain.PlayerActivityReport, error) GetTopPlayersByNetResult(ctx context.Context, startDate, endDate string, limit int) ([]domain.TopPlayerNetResult, error) DeletePlayerActivityReport(ctx context.Context, id int64) error }