add attendance

This commit is contained in:
tylen
2025-11-02 01:15:02 +02:00
parent 9a192c9b61
commit 327ab8592a
4 changed files with 168 additions and 7 deletions

View File

@@ -77,7 +77,6 @@ def registerUserEndpoints(app, database):
def validate_token():
data = request.json
token = data.get('token')
user_name = data.get('userName')
query = "SELECT * FROM sessions WHERE Token=%s"
try:
result = database.query(query, params=(token,))
@@ -85,3 +84,60 @@ def registerUserEndpoints(app, database):
return jsonify(userName=result[0][1], tokenValid=True), 200
except Exception as e:
return jsonify(success=False, message=str(e)), 500
@app.route('/users/attendance', methods=['PUT'])
def update_attendance():
data = request.json
token = data.get('token')
attendance_status = data.get('attendance') # Get attendance status from the request data
if attendance_status is None:
return jsonify(success=False, message="Attendance status is required"), 400
query_session = "SELECT * FROM sessions WHERE Token=%s"
try:
result = database.query(query_session, params=(token,))
if not result:
return jsonify(success=False, message="Token is invalid or expired"), 401
user_name = result[0][1]
attendance_query = "UPDATE users SET Attendance = %s WHERE Name = %s"
update_result = database.query(attendance_query, params=(attendance_status, user_name))
return jsonify(success=True, message="Attendance updated successfully"), 200
except Exception as e:
return jsonify(success=False, message=str(e)), 500
@app.route('/users/attendance', methods=['GET'])
def get_attendance():
token = request.args.get('token')
if not token:
return jsonify(success=False, message="Token is required"), 400
query_session = "SELECT * FROM sessions WHERE Token=%s"
try:
result = database.query(query_session, params=(token,))
if not result:
return jsonify(success=False, message="Token is invalid or expired"), 401
user_name = result[0][1]
attendance_query = "SELECT Attendance FROM users WHERE Name = %s"
attendance_result = database.query(attendance_query, params=(user_name,))
if not attendance_result:
return jsonify(success=False, message="User not found"), 404
attendance_status = attendance_result[0][0]
return jsonify(success=True, attendance=bool(attendance_status)), 200
except Exception as e:
return jsonify(success=False, message=str(e)), 500