Audit trail
This commit is contained in:
@@ -10,6 +10,7 @@ from backend.app.services.link_service import create_link, delete_link, find_own
|
||||
from backend.app.database import get_connection
|
||||
from backend.app.services.plugin_manager import plugin_manager
|
||||
from backend.app.services.token_service import validate_token
|
||||
from backend.app.services.audit_service import record_audit_event
|
||||
|
||||
router = APIRouter()
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -127,6 +128,7 @@ def delete_link_endpoint(
|
||||
raise HTTPException(status_code=502, detail=result.get('reason', 'Could not delete Mastodon posts'))
|
||||
if not delete_link(link_id, info['user_id']):
|
||||
raise HTTPException(status_code=404, detail='Link not found or not owned by user')
|
||||
record_audit_event(info['user_id'], 'link_deleted', 'link', link_id)
|
||||
return {'status': 'deleted', 'id': link_id}
|
||||
|
||||
|
||||
@@ -150,6 +152,7 @@ def post_link_to_mastodon(
|
||||
result = plugin_manager.post_to_mastodon({'type': 'link_created', **event})
|
||||
if result.get('status') == 'posted':
|
||||
mark_mastodon_posted(link_id, info['user_id'], result.get('post_id'))
|
||||
record_audit_event(info['user_id'], 'mastodon_posted', 'link', link_id)
|
||||
return {'status': 'posted', 'post_id': result.get('post_id')}
|
||||
if result.get('status') == 'skipped':
|
||||
raise HTTPException(status_code=409, detail='Mastodon is not enabled or configured')
|
||||
|
||||
Reference in New Issue
Block a user