Add ability to list users

This commit is contained in:
Chocobozzz
2019-03-01 11:41:28 +01:00
committed by Thomas Citharel
parent 6ee3233cc6
commit a0123459b3
7 changed files with 182 additions and 13 deletions

View File

@@ -266,8 +266,21 @@ defmodule Mobilizon.Actors do
[%Mobilizon.Actors.User{}]
"""
def list_users do
Repo.all(User)
def list_users(page \\ nil, limit \\ nil, sort \\ nil, direction \\ nil) do
Repo.all(
User
|> paginate(page, limit)
|> sort(sort, direction)
)
end
def count_users() do
Repo.one(
from(
u in User,
select: count(u.id)
)
)
end
def insert_or_update_actor(data, preload \\ false) do
@@ -300,15 +313,6 @@ defmodule Mobilizon.Actors do
# update_and_set_cache(cs)
# end
def count_users() do
Repo.one(
from(
u in User,
select: count(u.id)
)
)
end
@doc """
Gets a single user.

View File

@@ -19,6 +19,16 @@ defmodule Mobilizon.Ecto do
)
end
@doc """
Add sort to the query
"""
def sort(query, sort, direction) do
from(
query,
order_by: [{^direction, ^sort}]
)
end
def increment_slug(slug) do
case List.pop_at(String.split(slug, "-"), -1) do
{nil, _} ->