added a lot of logging

This commit is contained in:
2025-05-30 20:43:14 +02:00
parent c09a5c758e
commit a08345e676
11 changed files with 247 additions and 2 deletions

View File

@@ -1,7 +1,7 @@
from flask import Blueprint, jsonify, request, abort
from flask_login import login_required, current_user
from models import db, Room, RoomFile, TrashedFile, UserStarredFile
from utils import user_has_permission, clean_path
from utils import user_has_permission, clean_path, log_event
import os
from datetime import datetime
@@ -77,6 +77,20 @@ def restore_file(room_id, trash_id):
db.session.delete(trashed_file)
db.session.commit()
log_event(
event_type='file_restore',
details={
'filename': trashed_file.name,
'room_id': room_id,
'room_name': room.name,
'original_path': trashed_file.original_path,
'restored_by': f"{current_user.username} {current_user.last_name}",
'file_type': trashed_file.type,
'file_size': trashed_file.size if trashed_file.type == 'file' else None
},
user_id=current_user.id
)
return jsonify({'success': True})
@trash_bp.route('/<int:room_id>/trash/<int:trash_id>', methods=['DELETE'])
@@ -94,6 +108,21 @@ def permanently_delete_file(room_id, trash_id):
db.session.delete(trashed_file)
db.session.commit()
log_event(
event_type='file_delete_permanent',
details={
'filename': trashed_file.name,
'room_id': room_id,
'room_name': room.name,
'original_path': trashed_file.original_path,
'deleted_by': f"{current_user.username} {current_user.last_name}",
'file_type': trashed_file.type,
'file_size': trashed_file.size if trashed_file.type == 'file' else None,
'was_in_trash': True
},
user_id=current_user.id
)
return jsonify({'success': True})
@trash_bp.route('/<int:room_id>/trash/empty', methods=['POST'])
@@ -101,6 +130,7 @@ def permanently_delete_file(room_id, trash_id):
def empty_trash(room_id):
"""Empty the trash for a specific room."""
try:
room = Room.query.get_or_404(room_id)
# Get all trashed files
trashed_files = TrashedFile.query.filter_by(room_id=room_id).all()
@@ -125,6 +155,17 @@ def empty_trash(room_id):
db.session.commit()
log_event(
event_type='trash_empty',
details={
'room_id': room_id,
'room_name': room.name,
'emptied_by': f"{current_user.username} {current_user.last_name}",
'files_deleted_count': len(trashed_files)
},
user_id=current_user.id
)
return jsonify({'success': True})
except Exception as e:
db.session.rollback()