diff --git a/DysonNetwork.Sphere/Account/AccountController.cs b/DysonNetwork.Sphere/Account/AccountController.cs index 7c7eaa3..764e035 100644 --- a/DysonNetwork.Sphere/Account/AccountController.cs +++ b/DysonNetwork.Sphere/Account/AccountController.cs @@ -97,7 +97,7 @@ public class AccountController( }, expiredAt: SystemClock.Instance.GetCurrentInstant().Plus(Duration.FromDays(7)) ); - spells.NotifyMagicSpell(spell); + await spells.NotifyMagicSpell(spell, true); return account; } diff --git a/DysonNetwork.Sphere/Post/PostController.cs b/DysonNetwork.Sphere/Post/PostController.cs index dc447a3..8e2ad0f 100644 --- a/DysonNetwork.Sphere/Post/PostController.cs +++ b/DysonNetwork.Sphere/Post/PostController.cs @@ -37,11 +37,12 @@ public class PostController(AppDatabase db, PostService ps, RelationshipService .Take(take) .ToListAsync(); posts = PostService.TruncatePostContent(posts); - + var postsId = posts.Select(e => e.Id).ToList(); var reactionMaps = await ps.GetPostReactionMapBatch(postsId); foreach (var post in posts) - post.ReactionsCount = reactionMaps[post.Id]; + post.ReactionsCount = + reactionMaps.TryGetValue(post.Id, out var count) ? count : new Dictionary(); Response.Headers["X-Total"] = totalCount.ToString(); @@ -104,7 +105,7 @@ public class PostController(AppDatabase db, PostService ps, RelationshipService .Take(take) .ToListAsync(); posts = PostService.TruncatePostContent(posts); - + var postsId = posts.Select(e => e.Id).ToList(); var reactionMaps = await ps.GetPostReactionMapBatch(postsId); foreach (var post in posts) @@ -241,7 +242,7 @@ public class PostController(AppDatabase db, PostService ps, RelationshipService AccountId = currentUser.Id }; await ps.ModifyPostVotes(post, reaction, isExistingReaction); - + if (isExistingReaction) return NoContent(); return Ok(reaction); }