reset token api refactor (#446)

* move reset-token from home to api

* cleanup

* cleanup markdown

* more dev readme cleanup

* remove dev files

* format

* make robot happier

---------

Co-authored-by: Gavin Palmer <gavin@herolfg.com>
This commit is contained in:
Gavin Palmer 2023-03-12 22:07:06 -05:00 committed by GitHub
parent 2d6c0bd02b
commit 9afd81b372
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 27 additions and 10 deletions

View File

@ -17,6 +17,7 @@ from api.views import (
SnapshotApiListView,
SnapshotApiView,
TaskApiView,
TokenView,
VideoApiListView,
VideoApiView,
VideoCommentView,
@ -135,4 +136,9 @@ urlpatterns = [
SearchView.as_view(),
name="api-search",
),
path(
"token/",
TokenView.as_view(),
name="api-token",
),
]

View File

@ -760,3 +760,15 @@ class SearchView(ApiBaseView):
search_results = SearchForm().multi_search(search_query)
return Response(search_results)
class TokenView(ApiBaseView):
"""resolves to /api/token/
DELETE: revoke the token
"""
@staticmethod
def delete(request):
print("revoke API token")
request.user.auth_token.delete()
return Response({"success": True})

View File

@ -1146,11 +1146,6 @@ def process(request):
if request.method == "POST":
current_user = request.user.id
post_dict = json.loads(request.body.decode())
if post_dict.get("reset-token"):
print("revoke API token")
request.user.auth_token.delete()
return JsonResponse({"success": True})
post_handler = PostData(post_dict, current_user)
if post_handler.to_exec:
task_result = post_handler.run_task()

View File

@ -298,11 +298,15 @@ function fsRescan() {
}
function resetToken() {
let payload = JSON.stringify({ 'reset-token': true });
sendPost(payload);
let message = document.createElement('p');
message.innerText = 'Token revoked';
document.getElementById('text-reveal').replaceWith(message);
let apiEndpoint = '/api/token/';
let result = apiRequest(apiEndpoint, 'DELETE');
if (result && result.success) {
let message = document.createElement('p');
message.innerText = 'Token revoked';
document.getElementById('text-reveal').replaceWith(message);
} else {
console.error('unable to revoke token');
}
}
// restore from snapshot