1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-23 05:24:18 +00:00
pds-2021-g2-nest/code/backend/nest_backend/routes/users/user_delete.py

28 lines
1 KiB
Python
Raw Normal View History

from flask import render_template, abort, jsonify, request
from ...database import *
from flask_jwt_extended import jwt_required
from ...gestione import *
from flask_cors import cross_origin
@cross_origin()
@jwt_required()
def page_user_delete():
"""
API call that allows an user to be deleted from NEST.
:form email: The email of the user that needs to be removed.
:return: JSON-formatted data. If the user has the privilege, the target user exists and differs from the current
user, the target gets deleted and a json containing the field "result":"success" is returned.
"""
user = find_user(get_jwt_identity())
if not user.isAdmin:
return json_error("User is not admin."), 403
target = find_user(request.json.get('email'))
if not target:
return json_error("User not found."), 404
if user == target:
return json_error("The user cant delete himself. Its a sin."), 406
Base.session.remove(target)
Base.session.commit()
return json_success("The user has been deleted.")