feat(api): add /delete-acc-data and /delete-user-data routes
This commit is contained in:
parent
f13e3993e9
commit
dac1e10b5d
@ -56,6 +56,10 @@ class CM_API:
|
|||||||
self.app.route('/update-acc-data', methods=['POST'])(self.update_acc_data)
|
self.app.route('/update-acc-data', methods=['POST'])(self.update_acc_data)
|
||||||
self.app.route('/update-user-data', methods=['POST'])(self.update_user_data)
|
self.app.route('/update-user-data', methods=['POST'])(self.update_user_data)
|
||||||
|
|
||||||
|
# Delete routes
|
||||||
|
self.app.route('/delete-acc-data', methods=['POST'])(self.delete_acc_data)
|
||||||
|
self.app.route('/delete-user-data', methods=['POST'])(self.delete_user_data)
|
||||||
|
|
||||||
def _check_database_available(self):
|
def _check_database_available(self):
|
||||||
db = self._get_database_connection()
|
db = self._get_database_connection()
|
||||||
if db is None:
|
if db is None:
|
||||||
@ -168,6 +172,58 @@ class CM_API:
|
|||||||
finally:
|
finally:
|
||||||
self._close_database_connection(db)
|
self._close_database_connection(db)
|
||||||
|
|
||||||
|
def delete_acc_data(self):
|
||||||
|
is_available, db, error_response = self._check_database_available()
|
||||||
|
if not is_available:
|
||||||
|
return error_response
|
||||||
|
|
||||||
|
try:
|
||||||
|
data = request.get_json() or {}
|
||||||
|
username = data.get('username')
|
||||||
|
|
||||||
|
if not username:
|
||||||
|
return jsonify({"error": "Username is required"}), 400
|
||||||
|
|
||||||
|
result = db.execute(
|
||||||
|
"DELETE FROM acc WHERE username = %s",
|
||||||
|
[username]
|
||||||
|
)
|
||||||
|
|
||||||
|
if result:
|
||||||
|
return jsonify({"deleted": username})
|
||||||
|
return jsonify({"error": "Failed to delete account"}), 500
|
||||||
|
|
||||||
|
except Exception as error:
|
||||||
|
return self._handle_error(error, "Error deleting account"), 500
|
||||||
|
finally:
|
||||||
|
self._close_database_connection(db)
|
||||||
|
|
||||||
|
def delete_user_data(self):
|
||||||
|
is_available, db, error_response = self._check_database_available()
|
||||||
|
if not is_available:
|
||||||
|
return error_response
|
||||||
|
|
||||||
|
try:
|
||||||
|
data = request.get_json() or {}
|
||||||
|
f_username = data.get('f_username')
|
||||||
|
|
||||||
|
if not f_username:
|
||||||
|
return jsonify({"error": "f_username is required"}), 400
|
||||||
|
|
||||||
|
result = db.execute(
|
||||||
|
"DELETE FROM user WHERE f_username = %s",
|
||||||
|
[f_username]
|
||||||
|
)
|
||||||
|
|
||||||
|
if result:
|
||||||
|
return jsonify({"deleted": f_username})
|
||||||
|
return jsonify({"error": "Failed to delete user"}), 500
|
||||||
|
|
||||||
|
except Exception as error:
|
||||||
|
return self._handle_error(error, "Error deleting user"), 500
|
||||||
|
finally:
|
||||||
|
self._close_database_connection(db)
|
||||||
|
|
||||||
def run(self, port=3000, debug=None):
|
def run(self, port=3000, debug=None):
|
||||||
if debug is None:
|
if debug is None:
|
||||||
debug = _debug_enabled()
|
debug = _debug_enabled()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user