Add featured route

This commit is contained in:
Mirai Kumiko 2025-07-06 09:49:03 +02:00
parent b17e177335
commit f90a7133bc
Signed by: miraikumiko
GPG key ID: 3F178B1B5E0CB278
8 changed files with 118 additions and 3 deletions

View file

@ -0,0 +1,24 @@
defmodule NullaWeb.ActivityPub.FeaturedController do
use NullaWeb, :controller
alias Nulla.Actors
alias Nulla.Notes
alias Nulla.Actors.Actor
alias NullaWeb.ActivityPub.FeaturedJSON
def index(conn, %{"username" => username}) do
domain = NullaWeb.Endpoint.host()
actor = Actors.get_actor_by(acct: "#{username}@#{domain}")
case actor do
%Actor{} = actor ->
notes = Notes.list_notes_by(actor_id: actor.id, featured: true)
conn
|> put_resp_content_type("application/activity+json")
|> send_resp(200, Jason.encode!(FeaturedJSON.index(actor, notes)))
_ ->
send_resp(conn, 404, "")
end
end
end