This commit is contained in:
Mirai Kumiko 2025-06-30 14:03:57 +02:00
parent fa350aa551
commit c531beadb7
Signed by: miraikumiko
GPG key ID: 3F178B1B5E0CB278
11 changed files with 20 additions and 41 deletions

View file

@ -2,21 +2,20 @@ defmodule NullaWeb.WebfingerController do
use NullaWeb, :controller
alias Nulla.ActivityPub
alias Nulla.Models.Actor
alias Nulla.Models.InstanceSettings
def index(conn, %{"resource" => resource}) do
case Regex.run(~r/^acct:(.+)@(.+)$/, resource) do
[_, username, domain] ->
case Actor.get_actor(preferredUsername: username, domain: domain) do
[_, preferredUsername, actor_domain] ->
case Actor.get_actor(preferredUsername: preferredUsername, domain: actor_domain) do
nil ->
conn
|> put_resp_content_type("text/plain")
|> send_resp(404, "")
%Actor{} = actor ->
instance_settings = InstanceSettings.get_instance_settings!()
domain = NullaWeb.Endpoint.host()
if domain == instance_settings.domain do
if actor_domain == domain do
json(conn, ActivityPub.webfinger(actor))
else
conn