Update user

This commit is contained in:
2023-02-18 17:26:27 +00:00
parent 47c92ad44a
commit 471fa9ceb5
4 changed files with 38 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
defmodule PhoenixApiTemplateWeb.UserController do
use PhoenixApiTemplateWeb, :controller
alias PhoenixApiTemplateWeb.Auth.ErrorResponse
alias PhoenixApiTemplateWeb.Auth.ErrorResponse.Unauthorized
alias PhoenixApiTemplateWeb.Auth.Guardian
alias PhoenixApiTemplate.Accounts
@@ -8,8 +9,21 @@ defmodule PhoenixApiTemplateWeb.UserController do
alias PhoenixApiTemplate.Profiles
alias PhoenixApiTemplate.Profiles.Profile
plug :is_authorized_user when action in [:update, :delete]
action_fallback(PhoenixApiTemplateWeb.FallbackController)
defp is_authorized_user(conn, _options) do
%{params: %{"id" => id}} = conn
user = Accounts.get_user!(id)
if conn.assigns.user.id == user.id do
conn
else
raise ErrorResponse.Forbidden
end
end
def index(conn, _params) do
users = Accounts.list_users()
render(conn, "index.json", users: users)