27 lines
1.0 KiB
Go
27 lines
1.0 KiB
Go
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)
|
|
}
|
|
|