Add account deletion scheduler and comprehensive tests
All checks were successful
Gitea Actions Demo / build-and-push (push) Successful in 49s

- Implemented account deletion scheduler in `account_deletion_scheduler.py` to manage user deletions based on a defined threshold.
- Added logging for deletion processes, including success and error messages.
- Created tests for deletion logic, including edge cases, retry logic, and integration tests to ensure complete deletion workflows.
- Ensured that deletion attempts are tracked and that users are marked for manual intervention after exceeding maximum attempts.
- Implemented functionality to check for interrupted deletions on application startup and retry them.
This commit is contained in:
2026-02-08 22:42:36 -05:00
parent 04f50c32ae
commit 060b2953fa
16 changed files with 2590 additions and 2 deletions

View File

@@ -4,6 +4,7 @@ import sys
from flask import Flask, request, jsonify
from flask_cors import CORS
from api.admin_api import admin_api
from api.auth_api import auth_api
from api.child_api import child_api
from api.image_api import image_api
@@ -15,6 +16,7 @@ from config.version import get_full_version
from db.default import initializeImages, createDefaultTasks, createDefaultRewards
from events.broadcaster import Broadcaster
from events.sse import sse_response_for_user, send_to_user
from utils.account_deletion_scheduler import start_deletion_scheduler
# Configure logging once at application startup
logging.basicConfig(
@@ -28,6 +30,7 @@ logger = logging.getLogger(__name__)
app = Flask(__name__)
#CORS(app, resources={r"/api/*": {"origins": ["http://localhost:3000", "http://localhost:5173"]}})
app.register_blueprint(admin_api)
app.register_blueprint(child_api)
app.register_blueprint(reward_api)
app.register_blueprint(task_api)
@@ -83,6 +86,7 @@ initializeImages()
createDefaultTasks()
createDefaultRewards()
start_background_threads()
start_deletion_scheduler()
if __name__ == '__main__':
app.run(debug=False, host='0.0.0.0', port=5000, threaded=True)