1from flask_restx
import Resource
2from flask
import request, jsonify
3from flask_jwt_extended
import jwt_required, get_jwt_identity
7current_directory = os.getcwd()
8sys.path.append(os.path.join(current_directory))
11from Models
import user_model
as UM
13from SQLAdminConnections
import SQL_AdminConnector
as SQLC
14from SQLAdminConnections
import SQL_AdminQuerys
as SQLQ
16from USER_session
import tokenHandler
as TH
18from Common.Requirements
import valid_token
as vt
19from Common.Requirements.admin_req
import require_admin_account
23 tokenHandler = TH.UserTokenHandler()
25 @ns.route('/deleteSubUser')
26 class delete_subuser(Resource):
27 deletion_model = UM.sub_delete_model(ns)
30 @ns.doc(
'Delete user',
31 description=
'Deletes subuser when given Username.',
33 400:
'Invalid Argument or faulty data',
34 500:
'Internal server error'})
35 @ns.expect(deletion_model, validate=True)
39 @vt.require_valid_token
40 @require_admin_account
44 data = request.get_json()
45 username = data[
"username"].lower()
51 return {
"message":
"Removed.",
"Goodbye": username}, 200
56 connection = SQLC.SQLConAdmin()
58 connection.execute_query(SQLQ.SQLQueries.use_users_database())
59 connection.execute_query(SQLQ.SQLQueries.delete_sql_user(username))
60 connection.cnx.commit()
61 except Exception
as e:
62 print(f
"An error occurred during deletion: {e}")
74 connection = SQLC.SQLConAdmin()
76 connection.execute_query(SQLQ.SQLQueries.use_users_database())
77 connection.execute_query(SQLQ.SQLQueries.delete_activities_by_user_id(user_id))
78 connection.execute_query(SQLQ.SQLQueries.delete_user_from_user_info(username))
79 connection.cnx.commit()
80 except Exception
as e:
81 print(f
"An error occurred during user deletion: {e}")
89 connection = SQLC.SQLConAdmin()
91 connection.execute_query(SQLQ.SQLQueries.use_users_database())
92 result = connection.execute_query(SQLQ.SQLQueries.get_user_id_by_email(email))
95 except Exception
as e:
96 print(f
"An error occurred: {e}")
105 connection = SQLC.SQLConAdmin()
107 connection.execute_query(SQLQ.SQLQueries.use_users_database())
108 connection.execute_query(SQLQ.SQLQueries.delete_tokens_by_user_id(user_id))
109 connection.cnx.commit()
110 except Exception
as e:
111 print(f
"An error occurred during token deletion: {e}")
admin_delete_subuser_route(ns)
remove_user_account(username)
remove_SQL_account(username)
delete_user_tokens(user_id)