package company

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) ([]domain.GetCompany, error)
	SearchCompanyByName(ctx context.Context, name string) ([]domain.GetCompany, error)
	GetCompanyByID(ctx context.Context, id int64) (domain.GetCompany, error)
	UpdateCompany(ctx context.Context, company domain.UpdateCompany) (domain.Company, error)
	DeleteCompany(ctx context.Context, id int64) error

	GetCompanyCounts(ctx context.Context, filter domain.ReportFilter) (total, active, inactive int64, err error)
}
