Skip to content

Commit

Permalink
refactor: API design
Browse files Browse the repository at this point in the history
  • Loading branch information
linkdotnet committed Mar 28, 2024
1 parent a05a5c3 commit 150dc0b
Showing 1 changed file with 8 additions and 11 deletions.
19 changes: 8 additions & 11 deletions src/LinkDotNet.Blog.Web/Features/TransformBlogPostRecordsJob.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,21 +53,18 @@ public async Task RunAsync(JobExecutionContext context, CancellationToken token)
}
}

private static IEnumerable<BlogPostRecord> GetBlogPostRecords(
private static BlogPostRecord[] GetBlogPostRecords(
IEnumerable<BlogPost> blogPosts,
IEnumerable<UserRecord> userRecords)
{
var clicksPerDay = GetClicksPerDay(userRecords);

return from blogPost in blogPosts
from date in clicksPerDay.Keys.Where(k => k.blogPostId == blogPost.Id)
select new BlogPostRecord
{
Id = blogPost.Id,
BlogPostId = blogPost.Id,
DateClicked = date.date,
Clicks = clicksPerDay[date],
};
return blogPosts
.SelectMany(blogPost => clicksPerDay.Keys.Where(k => k.blogPostId == blogPost.Id),
(blogPost, date) => new BlogPostRecord
{
Id = blogPost.Id, BlogPostId = blogPost.Id, DateClicked = date.date, Clicks = clicksPerDay[date],
}).ToArray();
}

private static Dictionary<(string blogPostId, DateOnly date), int> GetClicksPerDay(IEnumerable<UserRecord> userRecords)
Expand Down Expand Up @@ -110,7 +107,7 @@ private async Task TransformRecordsAsync()
var userRecords = await userRecordRepository.GetAllAsync(
filter: r => r.UrlClicked.StartsWith("blogPost/"));

var newBlogPostRecords = GetBlogPostRecords(blogPosts, userRecords).ToArray();
var newBlogPostRecords = GetBlogPostRecords(blogPosts, userRecords);
if (newBlogPostRecords.Length == 0)
{
return;
Expand Down

0 comments on commit 150dc0b

Please sign in to comment.