from fastapi import APIRouter, Depends, Request from sqlalchemy.ext.asyncio import AsyncSession from config.get_db import get_db from module_admin.entity.vo.user_vo import CurrentUserModel from module_admin.service.login_service import LoginService from utils.response_util import ResponseUtil from module_admin.service.meta_service import MetaService from module_admin.entity.vo.meta_vo import MetaPageObject, MetaColObject, SuppleModel metaController = APIRouter(prefix='/dasset', dependencies=[Depends(LoginService.get_current_user)]) @metaController.get("/meta/get") async def get_meta_list(request: Request, meta_query: MetaPageObject = Depends(MetaPageObject.as_query), query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): meta_query_result = await MetaService.get_meta_list_services(query_db, meta_query, current_user) return ResponseUtil.success(data=meta_query_result) @metaController.get("/meta/column/list") async def get_meta_list(request: Request, meta_query: MetaColObject = Depends(MetaColObject.as_query), query_db: AsyncSession = Depends(get_db)): meta_query_result = await MetaService.get_meta_col_list_services(query_db, meta_query) return ResponseUtil.success(data=meta_query_result) @metaController.get("/meta/clas/list") async def get_meta_clas_list(request: Request, query_db: AsyncSession = Depends(get_db)): result = await MetaService.get_meta_clas_list_services(query_db) return ResponseUtil.success(data=result) @metaController.post("/meta/supp") async def meta_supp(request: Request, supple: SuppleModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): result = await MetaService.meta_supp(query_db, supple, current_user) return ResponseUtil.success(msg=result.message) @metaController.get("/meta/getMetaInfoApplyBusinessDetail") async def getMetaInfoApplyBusinessDetail(request: Request, businessId: str, query_db: AsyncSession = Depends(get_db)): result = await MetaService.get_meta_apply_detail_services(query_db, businessId) return ResponseUtil.success(data=result)