Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F21908127
password_controller.ex
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
password_controller.ex
View Options
# Pleroma: A lightweight social networking server
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule
Pleroma.Web.TwitterAPI.PasswordController
do
@moduledoc
"""
The module containts functions for reset password.
"""
use
Pleroma.Web
,
:controller
require
Logger
alias
Pleroma.PasswordResetToken
alias
Pleroma.Repo
alias
Pleroma.User
def
reset
(
conn
,
%{
"token"
=>
token
})
do
with
%{
used
:
false
}
=
token
<-
Repo
.
get_by
(
PasswordResetToken
,
%{
token
:
token
}),
false
<-
PasswordResetToken
.
expired?
(
token
),
%
User
{}
=
user
<-
User
.
get_cached_by_id
(
token
.
user_id
)
do
render
(
conn
,
"reset.html"
,
%{
token
:
token
,
user
:
user
})
else
_e
->
render
(
conn
,
"invalid_token.html"
)
end
end
def
do_reset
(
conn
,
%{
"data"
=>
data
})
do
with
{
:ok
,
_
}
<-
PasswordResetToken
.
reset_password
(
data
[
"token"
],
data
)
do
render
(
conn
,
"reset_success.html"
)
else
_e
->
render
(
conn
,
"reset_failed.html"
)
end
end
end
File Metadata
Details
Attached
Mime Type
text/x-ruby
Expires
Sun, Dec 28, 1:42 AM (15 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
840843
Default Alt Text
password_controller.ex (1 KB)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment