Add some tests
Also add a unicity constraint on the followers table Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -197,6 +197,11 @@ defmodule Eventos.Actors.Actor do
|
||||
end
|
||||
end
|
||||
|
||||
@doc """
|
||||
Get followers from an actor
|
||||
|
||||
If actor A and C both follow actor B, actor B's followers are A and C
|
||||
"""
|
||||
def get_followers(%Actor{id: actor_id} = _actor) do
|
||||
Repo.all(
|
||||
from(
|
||||
@@ -208,6 +213,11 @@ defmodule Eventos.Actors.Actor do
|
||||
)
|
||||
end
|
||||
|
||||
@doc """
|
||||
Get followings from an actor
|
||||
|
||||
If actor A follows actor B and C, actor A's followings are B and B
|
||||
"""
|
||||
def get_followings(%Actor{id: actor_id} = _actor) do
|
||||
Repo.all(
|
||||
from(
|
||||
|
||||
@@ -19,5 +19,6 @@ defmodule Eventos.Actors.Follower do
|
||||
member
|
||||
|> cast(attrs, [:score, :approved, :target_actor_id, :actor_id])
|
||||
|> validate_required([:score, :approved, :target_actor_id, :actor_id])
|
||||
|> unique_constraint(:target_actor_id, name: :followers_actor_target_actor_unique_index)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user