You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
179 lines
9.2 KiB
179 lines
9.2 KiB
18 hours ago
|
from datetime import datetime
|
||
|
from fastapi import APIRouter, Depends, Request
|
||
|
from pydantic_validation_decorator import ValidateFields
|
||
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||
|
from config.enums import BusinessType
|
||
|
from config.get_db import get_db
|
||
|
from module_admin.entity.vo.user_vo import CurrentUserModel
|
||
|
from module_admin.annotation.log_annotation import Log
|
||
|
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||
|
from module_admin.entity.vo.metasecurity_vo import MetaSecurityColModel, MetaSecurityRowModel, MetaSecurityColPageQueryModel, MetaSecurityRowPageQueryModel, DeleteMetaSecurityModel
|
||
|
from module_admin.service.metasecurity_service import MetaSecurityService
|
||
|
from module_admin.service.login_service import LoginService
|
||
|
from utils.common_util import bytes2file_response
|
||
|
from utils.log_util import logger
|
||
|
from utils.page_util import PageResponseModel
|
||
|
from utils.response_util import ResponseUtil
|
||
|
import uuid
|
||
|
|
||
|
metaSecurityController = APIRouter(prefix='/meta/metaSecurity', dependencies=[Depends(LoginService.get_current_user)])
|
||
|
|
||
|
|
||
|
# MetaSecurity Column相关API
|
||
|
@metaSecurityController.get(
|
||
|
'/col/list', response_model=PageResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('meta:metaSecurityCol:list'))]
|
||
|
)
|
||
|
async def get_meta_security_col_list(
|
||
|
request: Request,
|
||
|
col_page_query: MetaSecurityColPageQueryModel = Depends(MetaSecurityColPageQueryModel.as_query),
|
||
|
query_db: AsyncSession = Depends(get_db),
|
||
|
):
|
||
|
col_page_query_result = await MetaSecurityService.get_meta_security_col_list_services(query_db, col_page_query, is_page=True)
|
||
|
logger.info('获取列配置列表成功')
|
||
|
return ResponseUtil.success(model_content=col_page_query_result)
|
||
|
@metaSecurityController.get('/row/list', response_model=PageResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('meta:metaSecurityRow:list'))]
|
||
|
)
|
||
|
async def get_meta_security_row_list(
|
||
|
request: Request,
|
||
|
row_page_query: MetaSecurityRowPageQueryModel = Depends(MetaSecurityRowPageQueryModel.as_query),
|
||
|
query_db: AsyncSession = Depends(get_db),
|
||
|
):
|
||
|
row_page_query_result = await MetaSecurityService.get_meta_security_row_list_services(query_db, row_page_query, is_page=True)
|
||
|
logger.info('获取行配置列表成功')
|
||
|
return ResponseUtil.success(model_content=row_page_query_result)
|
||
|
@metaSecurityController.get(
|
||
|
'/row/{row_id}', response_model=MetaSecurityRowModel, dependencies=[Depends(CheckUserInterfaceAuth('meta:metaSecurityRow:query'))]
|
||
|
)
|
||
|
async def query_detail_row(request: Request, row_id: str, query_db: AsyncSession = Depends(get_db)):
|
||
|
config_detail_result = await MetaSecurityService.row_detail_services(query_db, row_id)
|
||
|
logger.info(f'获取config_id为{row_id}的信息成功')
|
||
|
|
||
|
return ResponseUtil.success(data=config_detail_result)
|
||
|
@metaSecurityController.get(
|
||
|
'/col/{col_id}', response_model=MetaSecurityColModel, dependencies=[Depends(CheckUserInterfaceAuth('meta:metaSecurityCol:query'))]
|
||
|
)
|
||
|
async def query_detail_col(request: Request, col_id: str, query_db: AsyncSession = Depends(get_db)):
|
||
|
config_detail_result = await MetaSecurityService.col_detail_services(query_db, col_id)
|
||
|
logger.info(f'获取config_id为{col_id}的信息成功')
|
||
|
|
||
|
return ResponseUtil.success(data=config_detail_result)
|
||
|
@metaSecurityController.post('/col', dependencies=[Depends(CheckUserInterfaceAuth('meta:metaSecurityCol:add'))])
|
||
|
@ValidateFields(validate_model='add_meta_security_col')
|
||
|
@Log(title='列配置管理', business_type=BusinessType.INSERT)
|
||
|
async def add_meta_security_col(
|
||
|
request: Request,
|
||
|
add_meta_security_col: MetaSecurityColModel,
|
||
|
query_db: AsyncSession = Depends(get_db),
|
||
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
||
|
):
|
||
|
|
||
|
add_meta_security_col.create_by = current_user.user.user_name
|
||
|
add_meta_security_col.create_time = datetime.now()
|
||
|
add_meta_security_col.update_by = current_user.user.user_name
|
||
|
add_meta_security_col.update_time = datetime.now()
|
||
|
add_meta_security_col_result = await MetaSecurityService.add_meta_security_col_services(request, query_db, add_meta_security_col)
|
||
|
logger.info(add_meta_security_col_result.message)
|
||
|
return ResponseUtil.success(msg=add_meta_security_col_result.message)
|
||
|
|
||
|
|
||
|
@metaSecurityController.put('/col', dependencies=[Depends(CheckUserInterfaceAuth('meta:metaSecurityCol:edit'))])
|
||
|
@ValidateFields(validate_model='edit_meta_security_col')
|
||
|
@Log(title='列配置管理', business_type=BusinessType.UPDATE)
|
||
|
async def edit_meta_security_col(
|
||
|
request: Request,
|
||
|
edit_meta_security_col: MetaSecurityColModel,
|
||
|
query_db: AsyncSession = Depends(get_db),
|
||
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
||
|
):
|
||
|
edit_meta_security_col.update_by = current_user.user.user_name
|
||
|
edit_meta_security_col.update_time = datetime.now()
|
||
|
edit_meta_security_col_result = await MetaSecurityService.edit_meta_security_col_services(request, query_db, edit_meta_security_col)
|
||
|
logger.info(edit_meta_security_col_result.message)
|
||
|
return ResponseUtil.success(msg=edit_meta_security_col_result.message)
|
||
|
|
||
|
|
||
|
@metaSecurityController.delete('/col/{col_ids}', dependencies=[Depends(CheckUserInterfaceAuth('meta:metaSecurityCol:remove'))])
|
||
|
@Log(title='列配置管理', business_type=BusinessType.DELETE)
|
||
|
async def delete_meta_security_col(
|
||
|
request: Request,
|
||
|
col_ids: str,
|
||
|
query_db: AsyncSession = Depends(get_db),
|
||
|
):
|
||
|
delete_meta_security_col = DeleteMetaSecurityModel(metasecurityIds =col_ids)
|
||
|
delete_meta_security_col_result = await MetaSecurityService.delete_meta_security_col_services(request, query_db, delete_meta_security_col)
|
||
|
logger.info(delete_meta_security_col_result.message)
|
||
|
return ResponseUtil.success(msg=delete_meta_security_col_result.message)
|
||
|
|
||
|
|
||
|
# @metaSecurityController.get('/col/{col_id}', response_model=MetaSecurityColModel, dependencies=[Depends(CheckUserInterfaceAuth('meta:metaSecurityCol:query'))])
|
||
|
# async def query_meta_security_col_detail(
|
||
|
# request: Request,
|
||
|
# col_id: str,
|
||
|
# query_db: AsyncSession = Depends(get_db),
|
||
|
# ):
|
||
|
# col_detail_result = await MetaSecurityService.get_meta_security_col_by_id_services(query_db, col_id)
|
||
|
# logger.info(f'获取col_id为{col_id}的列配置信息成功')
|
||
|
# return ResponseUtil.success(data=col_detail_result)
|
||
|
|
||
|
|
||
|
# MetaSecurity Row相关API
|
||
|
|
||
|
|
||
|
|
||
|
@metaSecurityController.post('/row', dependencies=[Depends(CheckUserInterfaceAuth('meta:metaSecurityRow:add'))])
|
||
|
@ValidateFields(validate_model='add_meta_security_row')
|
||
|
@Log(title='行配置管理', business_type=BusinessType.INSERT)
|
||
|
async def add_meta_security_row(
|
||
|
request: Request,
|
||
|
add_meta_security_row: MetaSecurityRowModel,
|
||
|
query_db: AsyncSession = Depends(get_db),
|
||
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
||
|
):
|
||
|
add_meta_security_row.create_by = current_user.user.user_name
|
||
|
add_meta_security_row.create_time = datetime.now()
|
||
|
add_meta_security_row.update_by = current_user.user.user_name
|
||
|
add_meta_security_row.update_time = datetime.now()
|
||
|
add_meta_security_row_result = await MetaSecurityService.add_meta_security_row_services(request, query_db, add_meta_security_row)
|
||
|
logger.info(add_meta_security_row_result.message)
|
||
|
return ResponseUtil.success(msg=add_meta_security_row_result.message)
|
||
|
|
||
|
|
||
|
@metaSecurityController.put('/row', dependencies=[Depends(CheckUserInterfaceAuth('meta:metaSecurityRow:edit'))])
|
||
|
@ValidateFields(validate_model='edit_meta_security_row')
|
||
|
@Log(title='行配置管理', business_type=BusinessType.UPDATE)
|
||
|
async def edit_meta_security_row(
|
||
|
request: Request,
|
||
|
edit_meta_security_row: MetaSecurityRowModel,
|
||
|
query_db: AsyncSession = Depends(get_db),
|
||
|
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
||
|
):
|
||
|
edit_meta_security_row.update_by = current_user.user.user_name
|
||
|
edit_meta_security_row.update_time = datetime.now()
|
||
|
edit_meta_security_row_result = await MetaSecurityService.edit_meta_security_row_services(request, query_db, edit_meta_security_row)
|
||
|
logger.info(edit_meta_security_row_result.message)
|
||
|
return ResponseUtil.success(msg=edit_meta_security_row_result.message)
|
||
|
|
||
|
|
||
|
@metaSecurityController.delete('/row/{row_ids}', dependencies=[Depends(CheckUserInterfaceAuth('meta:metaSecurityRow:remove'))])
|
||
|
@Log(title='行配置管理', business_type=BusinessType.DELETE)
|
||
|
async def delete_meta_security_row(
|
||
|
request: Request,
|
||
|
row_ids: str,
|
||
|
query_db: AsyncSession = Depends(get_db),
|
||
|
):
|
||
|
delete_meta_security_row = DeleteMetaSecurityModel(metasecurityIds=row_ids)
|
||
|
delete_meta_security_row_result = await MetaSecurityService.delete_meta_security_row_services(request, query_db, delete_meta_security_row)
|
||
|
logger.info(delete_meta_security_row_result.message)
|
||
|
return ResponseUtil.success(msg=delete_meta_security_row_result.message)
|
||
|
|
||
|
|
||
|
@metaSecurityController.get('/row/{row_id}', response_model=MetaSecurityRowModel, dependencies=[Depends(CheckUserInterfaceAuth('meta:metaSecurityRow:query'))])
|
||
|
async def query_meta_security_row_detail(
|
||
|
request: Request,
|
||
|
row_id: int,
|
||
|
query_db: AsyncSession = Depends(get_db),
|
||
|
):
|
||
|
row_detail_result = await MetaSecurityService.get_meta_security_row_by_id_services(query_db, row_id)
|
||
|
logger.info(f'获取row_id为{row_id}的行配置信息成功')
|
||
|
return ResponseUtil.success(data=row_detail_result)
|