Clean up webmentions

This commit is contained in:
2023-07-06 21:08:42 +10:00
parent d0d1b43f6e
commit bee8adc407
6 changed files with 123 additions and 18 deletions

View File

@@ -0,0 +1,26 @@
require "dry/monads"
module Adamantium
class WebmentionRequestParser
include Dry::Monads[:result]
def call(params:)
if params[:"wm-property"] == "in-reply-to"
Success[:reply, {
type: "reply",
author_name: params[:author][:name],
author_photo: params[:author][:photo],
author_url: params[:author][:url],
published_at: params[:published],
content_html: params[:content][:html],
content_text: params[:content][:text],
source_url: params[:url],
target_url: params[:"in-reply-to"]
}]
else
Failure(:invalid_request)
end
end
end
end