🐛 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

@@ -12,14 +12,31 @@ public class DeveloperService(AppDatabase db, PublisherService.PublisherServiceC
developer.Publisher = PublisherInfo.FromProto(pubResponse.Publisher);
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)
{
try
{
var pubResponse = await ps.GetPublisherAsync(new GetPublisherRequest { Name = name });
var pubId = Guid.Parse(pubResponse.Publisher.Id);
var developer = await db.Developers.FirstOrDefaultAsync(d => d.Id == pubId);
return developer;
}
@@ -28,7 +45,7 @@ public class DeveloperService(AppDatabase db, PublisherService.PublisherServiceC
return null;
}
}
public async Task<bool> IsMemberWithRole(Guid pubId, Guid accountId, PublisherMemberRole role)
{
try