mirror of
https://github.com/navidrome/navidrome.git
synced 2026-11-06 18:28:39 +01:00
refactor(artwork): rename Resolver to TracingResolver for clarity
This commit is contained in:
parent
3a76a24dab
commit
7b83d570b1
3 changed files with 12 additions and 12 deletions
|
|
@ -223,7 +223,7 @@ func CreateArtworkWorker() *artwork.Worker {
|
|||
return worker
|
||||
}
|
||||
|
||||
func CreateArtworkResolver(trace *artwork.ChainTrace, live bool) *artwork.Resolver {
|
||||
func CreateArtworkResolver(trace *artwork.ChainTrace, live bool) *artwork.TracingResolver {
|
||||
sqlDB := db.Db()
|
||||
dataStore := persistence.New(sqlDB)
|
||||
broker := events.GetBroker()
|
||||
|
|
@ -231,8 +231,8 @@ func CreateArtworkResolver(trace *artwork.ChainTrace, live bool) *artwork.Resolv
|
|||
manager := plugins.GetManager(dataStore, broker, metricsMetrics)
|
||||
agentsAgents := agents.GetAgents(dataStore, manager)
|
||||
fFmpeg := ffmpeg.New()
|
||||
resolver := artwork.NewTracingResolver(dataStore, agentsAgents, fFmpeg, trace, live)
|
||||
return resolver
|
||||
tracingResolver := artwork.NewTracingResolver(dataStore, agentsAgents, fFmpeg, trace, live)
|
||||
return tracingResolver
|
||||
}
|
||||
|
||||
func getPluginManager() *plugins.Manager {
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ func CreateArtworkWorker() *artwork.Worker {
|
|||
))
|
||||
}
|
||||
|
||||
func CreateArtworkResolver(trace *artwork.ChainTrace, live bool) *artwork.Resolver {
|
||||
func CreateArtworkResolver(trace *artwork.ChainTrace, live bool) *artwork.TracingResolver {
|
||||
panic(wire.Build(
|
||||
allProviders,
|
||||
artwork.NewTracingResolver,
|
||||
|
|
|
|||
|
|
@ -387,36 +387,36 @@ func (s *service) parseArtworkID(ctx context.Context, id string) (model.ArtworkI
|
|||
return model.ArtworkID{}, model.ErrNotFound
|
||||
}
|
||||
|
||||
// Resolver is the CLI's read-only view of resolution: it walks the priority chain, records
|
||||
// TracingResolver is the CLI's read-only view of resolution: it walks the priority chain, records
|
||||
// the walk and reports the winning source, without ever writing artwork state.
|
||||
type Resolver struct {
|
||||
type TracingResolver struct {
|
||||
inner *resolver
|
||||
trace *ChainTrace
|
||||
}
|
||||
|
||||
// NewTracingResolver builds a Resolver that records its priority-chain walk. With live
|
||||
// NewTracingResolver builds a TracingResolver that records its priority-chain walk. With live
|
||||
// false the external tier is reported but never called.
|
||||
func NewTracingResolver(ds model.DataStore, ag *agents.Agents, ffm ffmpeg.FFmpeg, t *ChainTrace, live bool) *Resolver {
|
||||
func NewTracingResolver(ds model.DataStore, ag *agents.Agents, ffm ffmpeg.FFmpeg, t *ChainTrace, live bool) *TracingResolver {
|
||||
gate := offlineGate(t)
|
||||
if live {
|
||||
// A diagnostic must show the provider's real answer, and one item is at most one call
|
||||
// per agent, so --live deliberately bypasses the rate limiter and circuit breaker.
|
||||
gate = tracingGate(t, passthroughGate)
|
||||
}
|
||||
return &Resolver{inner: newResolver(ds, ag, ffm, gate), trace: t}
|
||||
return &TracingResolver{inner: newResolver(ds, ag, ffm, gate), trace: t}
|
||||
}
|
||||
|
||||
func (r *Resolver) ResolveArtist(ctx context.Context, id string) (string, error) {
|
||||
func (r *TracingResolver) ResolveArtist(ctx context.Context, id string) (string, error) {
|
||||
return r.explain(ctx, r.inner.resolveArtist, id)
|
||||
}
|
||||
|
||||
func (r *Resolver) ResolveAlbum(ctx context.Context, id string) (string, error) {
|
||||
func (r *TracingResolver) ResolveAlbum(ctx context.Context, id string) (string, error) {
|
||||
return r.explain(ctx, r.inner.resolveAlbum, id)
|
||||
}
|
||||
|
||||
// explain discards the bytes: nothing downstream persists this resolution, so nothing else
|
||||
// would close the reader either.
|
||||
func (r *Resolver) explain(ctx context.Context, resolve func(context.Context, string) (resolution, error), id string) (string, error) {
|
||||
func (r *TracingResolver) explain(ctx context.Context, resolve func(context.Context, string) (resolution, error), id string) (string, error) {
|
||||
res, err := resolve(withTrace(ctx, r.trace), id)
|
||||
if err != nil {
|
||||
return "", err
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue