parent
cde8970b46
commit
93631f195f
@ -0,0 +1,16 @@
|
|||||||
|
defmodule LinkShortenerWeb.Auth.Guardian do
|
||||||
|
use Guardian, otp_app: :link_shortener
|
||||||
|
|
||||||
|
alias LinkShortener.Accounts
|
||||||
|
|
||||||
|
def subject_for_token(user, _claims) do
|
||||||
|
sub = to_string(user.id)
|
||||||
|
{:ok, sub}
|
||||||
|
end
|
||||||
|
|
||||||
|
def resource_from_claims(claims) do
|
||||||
|
id = claims["sub"]
|
||||||
|
resource = Accounts.get_user!(id)
|
||||||
|
{:ok, resource}
|
||||||
|
end
|
||||||
|
end
|
@ -1,20 +1,12 @@
|
|||||||
defmodule LinkShortenerWeb.Api.V1.UserView do
|
defmodule LinkShortenerWeb.Api.V1.UserView do
|
||||||
use LinkShortenerWeb, :view
|
use LinkShortenerWeb, :view
|
||||||
alias LinkShortenerWeb.UserView
|
|
||||||
|
|
||||||
def render("index.json", %{users: users}) do
|
alias LinkShortenerWeb.Api.V1.UserView
|
||||||
%{data: render_many(users, UserView, "user.json")}
|
|
||||||
end
|
|
||||||
|
|
||||||
def render("show.json", %{user: user}) do
|
|
||||||
%{data: render_one(user, UserView, "user.json")}
|
|
||||||
end
|
|
||||||
|
|
||||||
def render("user.json", %{user: user}) do
|
def render("user.json", %{user: user, token: token}) do
|
||||||
%{
|
%{
|
||||||
id: user.id,
|
|
||||||
email: user.email,
|
email: user.email,
|
||||||
encrypted_password: user.encrypted_password
|
token: token
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in new issue