refactor(artwork): rename Resolver to TracingResolver for clarity

This commit is contained in:
Deluan 2026-08-14 15:39:13 -04:00
commit 7b83d570b1
3 changed files with 12 additions and 12 deletions

View file

@ -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 {

View file

@ -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,

View file

@ -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