Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F162710
security_tab.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
4 KB
Referenced Files
None
Subscribers
None
security_tab.js
View Options
import
ProgressButton
from
'src/components/progress_button/progress_button.vue'
import
Checkbox
from
'src/components/checkbox/checkbox.vue'
import
Mfa
from
'./mfa.vue'
import
localeService
from
'src/services/locale/locale.service.js'
const
SecurityTab
=
{
data
()
{
return
{
newEmail
:
''
,
changeEmailError
:
false
,
changeEmailPassword
:
''
,
changedEmail
:
false
,
deletingAccount
:
false
,
deleteAccountConfirmPasswordInput
:
''
,
deleteAccountError
:
false
,
changePasswordInputs
:
[
''
,
''
,
''
],
changedPassword
:
false
,
changePasswordError
:
false
,
moveAccountTarget
:
''
,
moveAccountPassword
:
''
,
movedAccount
:
false
,
moveAccountError
:
false
,
aliases
:
[],
listAliasesError
:
false
,
addAliasTarget
:
''
,
addedAlias
:
false
,
addAliasError
:
false
}
},
created
()
{
this
.
$store
.
dispatch
(
'fetchTokens'
)
this
.
fetchAliases
()
},
components
:
{
ProgressButton
,
Mfa
,
Checkbox
},
computed
:
{
user
()
{
return
this
.
$store
.
state
.
users
.
currentUser
},
pleromaBackend
()
{
return
this
.
$store
.
state
.
instance
.
pleromaBackend
},
oauthTokens
()
{
return
this
.
$store
.
state
.
oauthTokens
.
tokens
.
map
(
oauthToken
=>
{
return
{
id
:
oauthToken
.
id
,
appName
:
oauthToken
.
app_name
,
validUntil
:
new
Date
(
oauthToken
.
valid_until
).
toLocaleDateString
(
localeService
.
internalToBrowserLocale
(
this
.
$i18n
.
locale
))
}
})
}
},
methods
:
{
confirmDelete
()
{
this
.
deletingAccount
=
true
},
deleteAccount
()
{
this
.
$store
.
state
.
api
.
backendInteractor
.
deleteAccount
({
password
:
this
.
deleteAccountConfirmPasswordInput
})
.
then
((
res
)
=>
{
if
(
res
.
status
===
'success'
)
{
this
.
$store
.
dispatch
(
'logout'
)
this
.
$router
.
push
({
name
:
'root'
})
}
else
{
this
.
deleteAccountError
=
res
.
error
}
})
},
changePassword
()
{
const
params
=
{
password
:
this
.
changePasswordInputs
[
0
],
newPassword
:
this
.
changePasswordInputs
[
1
],
newPasswordConfirmation
:
this
.
changePasswordInputs
[
2
]
}
this
.
$store
.
state
.
api
.
backendInteractor
.
changePassword
(
params
)
.
then
((
res
)
=>
{
if
(
res
.
status
===
'success'
)
{
this
.
changedPassword
=
true
this
.
changePasswordError
=
false
this
.
logout
()
}
else
{
this
.
changedPassword
=
false
this
.
changePasswordError
=
res
.
error
}
})
},
changeEmail
()
{
const
params
=
{
email
:
this
.
newEmail
,
password
:
this
.
changeEmailPassword
}
this
.
$store
.
state
.
api
.
backendInteractor
.
changeEmail
(
params
)
.
then
((
res
)
=>
{
if
(
res
.
status
===
'success'
)
{
this
.
changedEmail
=
true
this
.
changeEmailError
=
false
}
else
{
this
.
changedEmail
=
false
this
.
changeEmailError
=
res
.
error
}
})
},
moveAccount
()
{
const
params
=
{
targetAccount
:
this
.
moveAccountTarget
,
password
:
this
.
moveAccountPassword
}
this
.
$store
.
state
.
api
.
backendInteractor
.
moveAccount
(
params
)
.
then
((
res
)
=>
{
if
(
res
.
status
===
'success'
)
{
this
.
movedAccount
=
true
this
.
moveAccountError
=
false
}
else
{
this
.
movedAccount
=
false
this
.
moveAccountError
=
res
.
error
}
})
},
removeAlias
(
alias
)
{
this
.
$store
.
state
.
api
.
backendInteractor
.
deleteAlias
({
alias
})
.
then
(()
=>
this
.
fetchAliases
())
},
addAlias
()
{
this
.
$store
.
state
.
api
.
backendInteractor
.
addAlias
({
alias
:
this
.
addAliasTarget
})
.
then
(()
=>
{
this
.
addedAlias
=
true
this
.
addAliasError
=
false
this
.
addAliasTarget
=
''
})
.
catch
((
error
)
=>
{
this
.
addedAlias
=
false
this
.
addAliasError
=
error
})
.
then
(()
=>
this
.
fetchAliases
())
},
fetchAliases
()
{
this
.
$store
.
state
.
api
.
backendInteractor
.
listAliases
()
.
then
((
res
)
=>
{
this
.
aliases
=
res
.
aliases
this
.
listAliasesError
=
false
})
.
catch
((
error
)
=>
{
this
.
listAliasesError
=
error
.
error
})
},
logout
()
{
this
.
$store
.
dispatch
(
'logout'
)
this
.
$router
.
replace
(
'/'
)
},
revokeToken
(
id
)
{
if
(
window
.
confirm
(
`
${
this
.
$i18n
.
t
(
'settings.revoke_token'
)
}
?`
))
{
this
.
$store
.
dispatch
(
'revokeToken'
,
id
)
}
}
}
}
export
default
SecurityTab
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Feb 21, 5:42 PM (13 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
66788
Default Alt Text
security_tab.js (4 KB)
Attached To
Mode
rPUFE pleroma-fe-upstream
Attached
Detach File
Event Timeline
Log In to Comment