feat: 为核心业务 API 全面挂载审计日志装饰器
This commit is contained in:
@ -4,7 +4,7 @@ from app.models.base import MaterialBase
|
||||
from app.models.bom import BomTable
|
||||
from app.extensions import db
|
||||
from flask_jwt_extended import jwt_required, get_jwt
|
||||
from app.utils.decorators import permission_required
|
||||
from app.utils.decorators import permission_required, audit_log
|
||||
from app.services.auth_service import AuthService
|
||||
|
||||
bom_bp = Blueprint('bom', __name__)
|
||||
@ -109,6 +109,11 @@ def get_bom_detail(bom_no):
|
||||
@bom_bp.route('/save', methods=['POST'])
|
||||
@jwt_required()
|
||||
@permission_required('bom_manage:operation')
|
||||
@audit_log(
|
||||
module='BOM管理',
|
||||
action='新增',
|
||||
get_target_name_fn=lambda: request.get_json().get('bom_no') if request.get_json() else None
|
||||
)
|
||||
def save_bom():
|
||||
"""保存或更新 BOM 配方(支持自定义 bom_no 和 多版本)"""
|
||||
try:
|
||||
@ -191,6 +196,11 @@ def get_bom_with_stock_by_no(bom_no):
|
||||
@bom_bp.route('/<path:bom_no>', methods=['DELETE'])
|
||||
@jwt_required()
|
||||
@permission_required('bom_manage:operation')
|
||||
@audit_log(
|
||||
module='BOM管理',
|
||||
action='删除',
|
||||
get_target_id_fn=lambda: request.view_args.get('bom_no')
|
||||
)
|
||||
def delete_bom(bom_no):
|
||||
"""
|
||||
根据 BOM 编号删除
|
||||
@ -243,6 +253,11 @@ def get_bom(parent_id):
|
||||
@bom_bp.route('', methods=['POST'])
|
||||
@jwt_required()
|
||||
@permission_required('bom_manage:operation')
|
||||
@audit_log(
|
||||
module='BOM管理',
|
||||
action='新增',
|
||||
get_target_name_fn=lambda: request.get_json().get('bom_no') if request.get_json() else None
|
||||
)
|
||||
def save_bom_legacy():
|
||||
try:
|
||||
req_data = request.get_json()
|
||||
|
||||
Reference in New Issue
Block a user