From a7788c87be334feb4268d5c49477d00b58f0b19d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=20=E6=9F=8F?= Date: Sat, 1 Feb 2025 23:22:36 +0900 Subject: [PATCH] update funtion saving for request route template --- backend/app/api/api_v1/routers/auth.py | 2 +- backend/app/core/auth.py | 2 +- backend/app/core/operation.py | 11 ++++++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/backend/app/api/api_v1/routers/auth.py b/backend/app/api/api_v1/routers/auth.py index fcacd71..31eb2d0 100644 --- a/backend/app/api/api_v1/routers/auth.py +++ b/backend/app/api/api_v1/routers/auth.py @@ -47,7 +47,7 @@ async def login(request: Request,db:Session= Depends(get_db) ,form_data: OAuth2P expires_delta=access_token_expires, ) - request.state.user = user + request.state.user = user.id return JSONResponse( status_code=200, diff --git a/backend/app/core/auth.py b/backend/app/core/auth.py index e9153a8..e3fcc21 100644 --- a/backend/app/core/auth.py +++ b/backend/app/core/auth.py @@ -42,7 +42,7 @@ async def get_current_user(request: Request,security_scopes: SecurityScopes, user = userService.get_user(db, token_data.id) if user is None: raise credentials_exception - request.state.user = user + request.state.user = user.id return user async def get_current_active_user( diff --git a/backend/app/core/operation.py b/backend/app/core/operation.py index bc60167..739b165 100644 --- a/backend/app/core/operation.py +++ b/backend/app/core/operation.py @@ -37,13 +37,18 @@ class LoggingMiddleware(BaseHTTPMiddleware): async def log_request(self, request: Request, response,state): try: headers = dict(request.headers) + route = request.scope.get("route") + if route: + path_template = route.path + else: + path_template = request.url.path db_operation = OperationLog(tenantid =request.state.tenant, clientip = request.client.host if request.client else None, useragent =headers.get("user-agent", ""), - userid = request.state.user.id, + userid = request.state.user, operation = request.method, - function = request.url.path, + function = path_template, parameters = str({"path": request.path_params,"query": dict(request.query_params),"body": request.state.body}), response = f"status_code:{response.status_code }" ) @@ -65,6 +70,6 @@ class LoggingMiddleware(BaseHTTPMiddleware): async def write_log_to_db(self, db_operation,db): db.add(db_operation) - await db.commit() + db.commit() \ No newline at end of file