added a lot of logging
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user