Improve auditing
This commit is contained in:
@@ -3,6 +3,8 @@ from flask import g, request
|
||||
from gatehouse_app.api.v1 import api_v1_bp
|
||||
from gatehouse_app.utils.response import api_response
|
||||
from gatehouse_app.utils.decorators import login_required
|
||||
from gatehouse_app.utils.constants import AuditAction
|
||||
from gatehouse_app.services.audit_service import AuditService
|
||||
|
||||
|
||||
@api_v1_bp.route("/admin/oauth/providers", methods=["GET"])
|
||||
@@ -78,6 +80,14 @@ def admin_configure_app_provider(provider: str):
|
||||
db.session.add(cfg)
|
||||
db.session.commit()
|
||||
|
||||
AuditService.log_action(
|
||||
action=AuditAction.EXTERNAL_AUTH_CONFIG_UPDATE if cfg else AuditAction.EXTERNAL_AUTH_CONFIG_CREATE,
|
||||
user_id=g.current_user.id,
|
||||
resource_type="oauth_provider",
|
||||
resource_id=provider,
|
||||
description=f"OAuth provider '{provider}' configured (enabled={cfg.is_enabled})",
|
||||
)
|
||||
|
||||
return api_response(
|
||||
data={"provider": {"id": provider, "client_id": cfg.client_id, "is_enabled": cfg.is_enabled}},
|
||||
message=f"{provider.capitalize()} OAuth provider configured successfully",
|
||||
@@ -104,4 +114,13 @@ def admin_delete_app_provider(provider: str):
|
||||
return api_response(success=False, message=f"Provider '{provider}' is not configured", status=404, error_type="NOT_FOUND")
|
||||
|
||||
cfg.delete()
|
||||
|
||||
AuditService.log_action(
|
||||
action=AuditAction.EXTERNAL_AUTH_CONFIG_DELETE,
|
||||
user_id=g.current_user.id,
|
||||
resource_type="oauth_provider",
|
||||
resource_id=provider,
|
||||
description=f"OAuth provider '{provider}' configuration removed",
|
||||
)
|
||||
|
||||
return api_response(message=f"{provider.capitalize()} OAuth provider configuration removed")
|
||||
|
||||
Reference in New Issue
Block a user