Add groups back

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2018-05-30 18:59:13 +02:00
parent cac4dd3ca3
commit 90de5a105b
15 changed files with 349 additions and 464 deletions

View File

@@ -1,46 +1,26 @@
#defmodule EventosWeb.GroupController do
# @moduledoc """
# Controller for Groups
# """
# use EventosWeb, :controller
#
# alias Eventos.Actors
# alias Eventos.Actors.Actor
#
# action_fallback EventosWeb.FallbackController
#
# def index(conn, _params) do
# groups = Actors.list_groups()
# render(conn, "index.json", groups: groups)
# end
#
# def create(conn, %{"group" => group_params}) do
# group_params = Map.put(group_params, "url", "h")
# with {:ok, %Group{} = group} <- Actors.create_group(group_params) do
# conn
# |> put_status(:created)
# |> put_resp_header("location", group_path(conn, :show, group))
# |> render("show_simple.json", group: group)
# end
# end
#
# def show(conn, %{"id" => id}) do
# group = Actors.get_group_full!(id)
# render(conn, "show.json", group: group)
# end
#
# def update(conn, %{"id" => id, "group" => group_params}) do
# group = Actors.get_group!(id)
#
# with {:ok, %Actor{} = group} <- Actors.update_group(group, group_params) do
# render(conn, "show_simple.json", group: group)
# end
# end
#
# def delete(conn, %{"id" => id}) do
# group = Actors.get_group!(id)
# with {:ok, %Actor{}} <- Actors.delete_group(group) do
# send_resp(conn, :no_content, "")
# end
# end
#end
defmodule EventosWeb.GroupController do
@moduledoc """
Controller for Groups
"""
use EventosWeb, :controller
alias Eventos.Actors
alias Eventos.Actors.Actor
action_fallback EventosWeb.FallbackController
def index(conn, _params) do
groups = Actors.list_groups()
render(conn, EventosWeb.ActorView, "index.json", actors: groups)
end
def create(conn, %{"group" => group_params}) do
with actor_admin = Guardian.Plug.current_resource(conn).actor,
{:ok, %Actor{} = group} <- Actors.create_group(group_params) do
conn
|> put_status(:created)
|> put_resp_header("location", actor_path(conn, :show, group))
|> render(EventosWeb.ActorView, "acccount_basic.json", actor: group)
end
end
end

View File

@@ -37,7 +37,7 @@ defmodule EventosWeb.Router do
post "/users", UserController, :register
post "/login", UserSessionController, :sign_in
#resources "/groups", GroupController, only: [:index, :show]
get "/groups", GroupController, :index
get "/events", EventController, :index
get "/events/search/:name", EventController, :search
get "/events/:username/:slug", EventController, :show
@@ -79,7 +79,7 @@ defmodule EventosWeb.Router do
resources "/participant", ParticipantController
resources "/bots", BotController, except: [:new, :edit, :show]
#resources "/requests", EventRequestController
#resources "/groups", GroupController, except: [:index, :show]
post "/groups", GroupController, :create
#post "/groups/:id/request", GroupRequestController, :create_for_group
resources "/members", MemberController
#resources "/requests", GroupRequestController

View File

@@ -27,6 +27,7 @@ defmodule EventosWeb.ActorView do
# public_key: actor.public_key,
suspended: actor.suspended,
url: actor.url,
avatar: actor.avatar_url,
}
end
@@ -40,6 +41,8 @@ defmodule EventosWeb.ActorView do
# public_key: actor.public_key,
suspended: actor.suspended,
url: actor.url,
avatar: actor.avatar_url,
banner: actor.banner_url,
organized_events: render_many(actor.organized_events, EventView, "event_for_actor.json")
}
end