from typing import List 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.entity.vo.dataint_vo import VecsetPageObject, SaveVecsetModel from module_admin.service.login_service import LoginService from module_admin.service.vecset_service import VecsetService from utils.response_util import ResponseUtil vecsetController = APIRouter(prefix='/dataint/vecset', dependencies=[Depends(LoginService.get_current_user)]) @vecsetController.get("/list") async def get_vecset_list(request: Request, vecset_query: VecsetPageObject = Depends(VecsetPageObject.as_query), query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): meta_query_result = await VecsetService.get_vecset_list_services(query_db, vecset_query, current_user) return ResponseUtil.success(data=meta_query_result) @vecsetController.post("/save") async def save_Vecset(request: Request, saveVecsetModel: SaveVecsetModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): result = await VecsetService.save_vecset(query_db, saveVecsetModel, current_user) return ResponseUtil.success(msg=result.message) @vecsetController.post("/delete") async def delete_vecset(request: Request, array: List[str], query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): result = await VecsetService.delete_vecset(query_db, array) return ResponseUtil.success(msg=result.message)