🐛 Fix developer missing publisher info

This commit is contained in:
2025-08-08 15:07:37 +08:00
parent 36ed0dc893
commit 009621a456
2 changed files with 23 additions and 6 deletions

View File

@@ -22,7 +22,7 @@ public class DeveloperController(
{ {
var developer = await ds.GetDeveloperByName(name); var developer = await ds.GetDeveloperByName(name);
if (developer is null) return NotFound(); if (developer is null) return NotFound();
return Ok(developer); return Ok(await ds.LoadDeveloperPublisher(developer));
} }
[HttpGet("{name}/stats")] [HttpGet("{name}/stats")]
@@ -63,7 +63,7 @@ public class DeveloperController(
var developers = await developerQuery.ToListAsync(); var developers = await developerQuery.ToListAsync();
return Ok(developers); return Ok(await ds.LoadDeveloperPublisher(developers));
} }
[HttpPost("{name}/enroll")] [HttpPost("{name}/enroll")]
@@ -118,7 +118,7 @@ public class DeveloperController(
IpAddress = Request.HttpContext.Connection.RemoteIpAddress?.ToString() IpAddress = Request.HttpContext.Connection.RemoteIpAddress?.ToString()
}); });
return Ok(developer); return Ok(await ds.LoadDeveloperPublisher(developer));
} }
public class DeveloperStats public class DeveloperStats

View File

@@ -13,6 +13,23 @@ public class DeveloperService(AppDatabase db, PublisherService.PublisherServiceC
return developer; return developer;
} }
public async Task<IEnumerable<Developer>> LoadDeveloperPublisher(IEnumerable<Developer> developers)
{
var enumerable = developers.ToList();
var pubIds = enumerable.Select(d => d.PublisherId).ToList();
var pubRequest = new GetPublisherBatchRequest();
pubIds.ForEach(x => pubRequest.Ids.Add(x.ToString()));
var pubResponse = await ps.GetPublisherBatchAsync(pubRequest);
var pubs = pubResponse.Publishers.ToDictionary(p => Guid.Parse(p.Id), PublisherInfo.FromProto);
return enumerable.Select(d =>
{
d.Publisher = pubs[d.PublisherId];
return d;
});
}
public async Task<Developer?> GetDeveloperByName(string name) public async Task<Developer?> GetDeveloperByName(string name)
{ {
try try