mirror of
https://github.com/truewhile/MeBox.git
synced 2026-09-29 03:26:37 +08:00
31 lines
918 B
Go
31 lines
918 B
Go
// Package service — site management (PT/BT tracker CRUD + connection test).
|
|
//
|
|
// SiteService owns the lifecycle of Site rows and exposes a cross-site
|
|
// search dispatcher that fans out a keyword query to every enabled site's
|
|
// adapter, collects results and returns them merged + sorted.
|
|
package service
|
|
|
|
import (
|
|
"go.uber.org/zap"
|
|
|
|
"github.com/ShukeBta/MediaStationGo/internal/repository"
|
|
)
|
|
|
|
// SiteService manages PT/BT site configurations.
|
|
type SiteService struct {
|
|
log *zap.Logger
|
|
repo *repository.Container
|
|
flareSolverrURL string
|
|
apiRateLimiter siteAPIRateLimiter
|
|
}
|
|
|
|
// NewSiteService is the constructor.
|
|
func NewSiteService(log *zap.Logger, repo *repository.Container, flareSolverrURL string) *SiteService {
|
|
return &SiteService{
|
|
log: log,
|
|
repo: repo,
|
|
flareSolverrURL: flareSolverrURL,
|
|
apiRateLimiter: newPersistentSiteAPIRateLimiter(repo),
|
|
}
|
|
}
|