X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Flist.ex;h=ca66c69160605590546e2f66e3bc53c46649a509;hb=74c6119f2863be35312b9b6e11735b0c5ad4f845;hp=a99e3245b9fedc90eca575bad87d21df93a5ba9e;hpb=e8c698af410639af52d89efc48f1433cd5404372;p=akkoma diff --git a/lib/pleroma/list.ex b/lib/pleroma/list.ex index a99e3245b..ca66c6916 100644 --- a/lib/pleroma/list.ex +++ b/lib/pleroma/list.ex @@ -1,10 +1,14 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + defmodule Pleroma.List do use Ecto.Schema import Ecto.{Changeset, Query} alias Pleroma.{User, Repo, Activity} schema "lists" do - belongs_to(:user, Pleroma.User) + belongs_to(:user, User, type: Pleroma.FlakeId) field(:title, :string) field(:following, {:array, :string}, default: []) @@ -23,7 +27,7 @@ defmodule Pleroma.List do |> validate_required([:following]) end - def for_user(user, opts) do + def for_user(user, _opts) do query = from( l in Pleroma.List, @@ -46,7 +50,7 @@ defmodule Pleroma.List do Repo.one(query) end - def get_following(%Pleroma.List{following: following} = list) do + def get_following(%Pleroma.List{following: following} = _list) do q = from( u in User, @@ -72,11 +76,19 @@ defmodule Pleroma.List do # Get lists to which the account belongs. def get_lists_account_belongs(%User{} = owner, account_id) do user = Repo.get(User, account_id) + query = from( l in Pleroma.List, - where: l.user_id == ^owner.id and fragment("? = ANY(?)", ^user.follower_address, l.following) + where: + l.user_id == ^owner.id and + fragment( + "? = ANY(?)", + ^user.follower_address, + l.following + ) ) + Repo.all(query) end