Skip to content

Commit

Permalink
Refactor notification logic into a new private method
Browse files Browse the repository at this point in the history
Moved Pingback and Webmention logic to `NotifyExternalServices`
method in `PostController` for better readability and
maintainability. Removed inline code from the main method and
replaced it with a call to the new method, passing necessary
parameters.
  • Loading branch information
EdiWang committed Feb 4, 2025
1 parent 27d78a5 commit ba81185
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions src/Moonglade.Web/Controllers/PostController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,7 @@ await mediator.Send(new CreatePostCommand(model)) :
var baseUri = new Uri(Helper.ResolveRootUrl(HttpContext, null, removeTailSlash: true));
var link = new Uri(baseUri, $"post/{postEntity.RouteLink.ToLower()}");

if (blogConfig.AdvancedSettings.EnablePingback)
{
cannonService.FireAsync<IPingbackSender>(async sender => await sender.TrySendPingAsync(link.ToString(), postEntity.PostContent));
}

if (blogConfig.AdvancedSettings.EnableWebmention)
{
cannonService.FireAsync<IWebmentionSender>(async sender => await sender.SendWebmentionAsync(link.ToString(), postEntity.PostContent));
}

NotifyExternalServices(postEntity.PostContent, link);
ProcessIndexing(model.LastModifiedUtc, postEntity.LastModifiedUtc == postEntity.PubDateUtc, link);

return Ok(new { PostId = postEntity.Id });
Expand All @@ -75,6 +66,19 @@ await mediator.Send(new CreatePostCommand(model)) :
}
}

private void NotifyExternalServices(string postContent, Uri link)
{
if (blogConfig.AdvancedSettings.EnablePingback)
{
cannonService.FireAsync<IPingbackSender>(async sender => await sender.TrySendPingAsync(link.ToString(), postContent));
}

if (blogConfig.AdvancedSettings.EnableWebmention)
{
cannonService.FireAsync<IWebmentionSender>(async sender => await sender.SendWebmentionAsync(link.ToString(), postContent));
}
}

private void ProcessIndexing(string lastModifiedUtc, bool isNewPublish, Uri link)
{
bool indexCoolDown = true;
Expand Down

0 comments on commit ba81185

Please sign in to comment.