package ports import ( "context" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) type CompanyStore interface { CreateCompany(ctx context.Context, company domain.CreateCompany) (domain.Company, error) GetAllCompanies(ctx context.Context, filter domain.CompanyFilter) ([]domain.GetCompany, error) SearchCompanyByName(ctx context.Context, name string) ([]domain.GetCompany, error) GetCompanyByID(ctx context.Context, id int64) (domain.GetCompany, error) GetCompanyBySlug(ctx context.Context, slug string) (domain.Company, error) UpdateCompany(ctx context.Context, company domain.UpdateCompany) error DeleteCompany(ctx context.Context, id int64) error GetCompanyCounts(ctx context.Context, filter domain.ReportFilter) (total, active, inactive int64, err error) } type CompanyStatStore interface { UpdateCompanyStats(ctx context.Context) error GetCompanyStatByID(ctx context.Context, companyID int64) ([]domain.CompanyStat, error) GetCompanyStatsByInterval(ctx context.Context, filter domain.CompanyStatFilter) ([]domain.CompanyStat, error) }