[backend] Code cleanup

This commit is contained in:
Laura Hausmann 2024-02-26 18:07:54 +01:00
parent 3a2e1bd3b2
commit f7ce62c1d5
No known key found for this signature in database
GPG key ID: D044E84C5BE01605

View file

@ -8,7 +8,11 @@ using Microsoft.Extensions.Options;
namespace Iceshrimp.Backend.Core.Services;
public class UserProfileMentionsResolver(ActivityPub.UserResolver userResolver, IOptions<Config.InstanceSection> config, ILogger<UserProfileMentionsResolver> logger)
public class UserProfileMentionsResolver(
ActivityPub.UserResolver userResolver,
IOptions<Config.InstanceSection> config,
ILogger<UserProfileMentionsResolver> logger
)
{
private int _recursionLimit = 10;
@ -24,24 +28,21 @@ public class UserProfileMentionsResolver(ActivityPub.UserResolver userResolver,
var nodes = input.SelectMany(p => MfmParser.Parse(p));
var mentionNodes = EnumerateMentions(nodes);
var users = await mentionNodes.DistinctBy(p => p.Acct)
.Select(async p =>
{
try
{
return await userResolver.ResolveAsyncLimited(p.Username, p.Host ?? host,
() =>
{
logger.LogDebug("Recursion limiter is at: {limit}", _recursionLimit);
return _recursionLimit-- <= 0;
});
}
catch
{
return null;
}
})
.AwaitAllNoConcurrencyAsync();
var users = await mentionNodes
.DistinctBy(p => p.Acct)
.Select(async p =>
{
try
{
return await userResolver.ResolveAsyncLimited(p.Username, p.Host ?? host,
() => _recursionLimit-- <= 0);
}
catch
{
return null;
}
})
.AwaitAllNoConcurrencyAsync();
return users.Where(p => p != null)
.Cast<User>()