Fix utf8 problems with iolists.
[akkoma] / lib / pleroma / web / ostatus / ostatus_controller.ex
1 defmodule Pleroma.Web.OStatus.OStatusController do
2 use Pleroma.Web, :controller
3
4 alias Pleroma.{User, Activity}
5 alias Pleroma.Web.OStatus.FeedRepresenter
6 alias Pleroma.Repo
7 import Ecto.Query
8
9 def feed(conn, %{"nickname" => nickname}) do
10 user = User.get_cached_by_nickname(nickname)
11 query = from activity in Activity,
12 where: fragment("? @> ?", activity.data, ^%{actor: user.ap_id}),
13 limit: 20,
14 order_by: [desc: :inserted_at]
15
16 activities = query
17 |> Repo.all
18
19 response = FeedRepresenter.to_simple_form(user, activities, [user])
20 |> :xmerl.export_simple(:xmerl_xml)
21 |> to_string
22
23 conn
24 |> put_resp_content_type("application/atom+xml")
25 |> send_resp(200, response)
26 end
27
28 def temp(conn, params) do
29 IO.inspect(params)
30 end
31 end