v0.10.0 - Add session archive/activate feature with access controls
This commit is contained in:
@@ -208,4 +208,37 @@ def get_status_details(session_id, status):
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error in get_status_details: {str(e)}")
|
||||
return jsonify({'success': False, 'message': f'Error: {str(e)}'})
|
||||
return jsonify({'success': False, 'message': f'Error: {str(e)}'})
|
||||
|
||||
@sessions_bp.route('/session/<int:session_id>/archive', methods=['POST'])
|
||||
@role_required('owner', 'admin')
|
||||
def archive_session(session_id):
|
||||
"""Archive a count session"""
|
||||
sess = query_db('SELECT * FROM CountSessions WHERE session_id = ?', [session_id], one=True)
|
||||
|
||||
if not sess:
|
||||
return jsonify({'success': False, 'message': 'Session not found'})
|
||||
|
||||
if sess['status'] == 'archived':
|
||||
return jsonify({'success': False, 'message': 'Session is already archived'})
|
||||
|
||||
execute_db('UPDATE CountSessions SET status = ? WHERE session_id = ?', ['archived', session_id])
|
||||
|
||||
return jsonify({'success': True, 'message': 'Session archived successfully'})
|
||||
|
||||
|
||||
@sessions_bp.route('/session/<int:session_id>/activate', methods=['POST'])
|
||||
@role_required('owner', 'admin')
|
||||
def activate_session(session_id):
|
||||
"""Reactivate an archived session"""
|
||||
sess = query_db('SELECT * FROM CountSessions WHERE session_id = ?', [session_id], one=True)
|
||||
|
||||
if not sess:
|
||||
return jsonify({'success': False, 'message': 'Session not found'})
|
||||
|
||||
if sess['status'] != 'archived':
|
||||
return jsonify({'success': False, 'message': 'Session is not archived'})
|
||||
|
||||
execute_db('UPDATE CountSessions SET status = ? WHERE session_id = ?', ['active', session_id])
|
||||
|
||||
return jsonify({'success': True, 'message': 'Session activated successfully'})
|
||||
Reference in New Issue
Block a user