else
{:ok, pem} = Salmon.generate_rsa_pem
info = Map.put(info, "keys", pem)
- Repo.update(Ecto.Changeset.change(user, info: info))
+ Ecto.Changeset.change(user, info: info)
+ |> User.update_and_set_cache()
end
end
subject = XML.string_from_xpath("//Subject", doc)
salmon = XML.string_from_xpath(~s{//Link[@rel="salmon"]/@href}, doc)
subscribe_address = XML.string_from_xpath(~s{//Link[@rel="http://ostatus.org/schema/1.0/subscribe"]/@template}, doc)
+ ap_id = XML.string_from_xpath(~s{//Link[@rel="self" and @type="application/activity+json"]/@href}, doc)
data = %{
"magic_key" => magic_key,
"topic" => topic,
"subject" => subject,
"salmon" => salmon,
- "subscribe_address" => subscribe_address
+ "subscribe_address" => subscribe_address,
+ "ap_id" => ap_id
}
{:ok, data}
end
end
def finger(account) do
+ account = String.trim_leading(account, "@")
domain = with [_name, domain] <- String.split(account, "@") do
domain
else _e ->
{:ok, data}
else
e ->
- Logger.debug(fn -> "Couldn't finger #{account}." end)
+ Logger.debug(fn -> "Couldn't finger #{account}" end)
Logger.debug(fn -> inspect(e) end)
{:error, e}
end