test
This commit is contained in:
28
backend/app/core/operation.py
Normal file
28
backend/app/core/operation.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from functools import wraps
|
||||
|
||||
from app.db.crud import create_operationlog
|
||||
from app.db.schemas import OperationCreate
|
||||
from fastapi.encoders import jsonable_encoder
|
||||
|
||||
def log_operation(operation):
|
||||
def decorator(func):
|
||||
@wraps(func)
|
||||
async def wrapper(*args,**kwargs):
|
||||
db = kwargs.get('db')
|
||||
request = kwargs.get('request')
|
||||
result = await func(*args,**kwargs)
|
||||
detial = f"Request: {request.method} {request.url}\
|
||||
Request Headers: {request.headers}\
|
||||
Request Body: {request.body()}\
|
||||
Result: {jsonable_encoder(result,exclude_unset=True)}"
|
||||
function = func.__name__
|
||||
db_operation = OperationCreate(tenantid ="t",
|
||||
domainurl="d",
|
||||
userid=3,
|
||||
operation=operation,
|
||||
function=function,
|
||||
detail=detial)
|
||||
create_operationlog(db,db_operation)
|
||||
return result
|
||||
return wrapper
|
||||
return decorator
|
||||
Reference in New Issue
Block a user