Compare commits

...

1 Commits

Author SHA1 Message Date
15cc48cd40 test 2024-11-17 18:42:22 +09:00
3 changed files with 52 additions and 2 deletions

View 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

View File

@@ -364,4 +364,18 @@ def create_log(db: Session, error:schemas.ErrorCreate):
def get_kintoneformat(db: Session):
formats = db.query(models.KintoneFormat).order_by(models.KintoneFormat.id).all()
return formats
return formats
def create_operationlog(db: Session, log: schemas.OperationCreate):
db_log = models.OperationLog(
tenantid=log.tenantid,
domainurl=log.domainurl,
userid = log.userid,
operation = log.operation,
function = log.function,
detail = log.detail
)
db.add(db_log)
db.commit()
db.refresh(db_log)
return db_log

View File

@@ -162,4 +162,12 @@ class Event(Base):
class ErrorCreate(BaseModel):
title:str
location:str
content:str
content:str
class OperationCreate(BaseModel):
tenantid:str
domainurl:str
userid:int
operation:str
function:str
detail:str