Implement planet name resolution

This commit is contained in:
2025-10-10 23:07:10 +02:00
parent 8f0c027218
commit ac6495faf0
3 changed files with 96 additions and 20 deletions

View File

@@ -150,3 +150,23 @@ func getCachedResponse[T any](c *CachedESI, url string, fetchFunc func() (T, err
return result, nil
}
// GetPlanetName retrieves planet name with caching
func (c *CachedESI) GetPlanetName(ctx context.Context, planetID int) (*PlanetName, error) {
url := fmt.Sprintf("/v1/universe/planets/%d/", planetID)
logger.Info("CachedESI: Getting planet name for planet %d", planetID)
fetchFunc := func() (*PlanetName, error) {
logger.Debug("CachedESI: Calling direct ESI for planet %d name", planetID)
return c.direct.GetPlanetName(ctx, planetID)
}
result, err := getCachedResponse(c, url, fetchFunc)
if err != nil {
logger.Error("CachedESI: Failed to get planet name for planet %d: %v", planetID, err)
return nil, err
}
logger.Info("CachedESI: Successfully retrieved planet name for planet %d: %s", planetID, result.Name)
return result, nil
}