import pymongo from fastapi import APIRouter, Depends, Request from motor.motor_asyncio import AsyncIOMotorDatabase import crud, schemas from core.config import settings from core.security import get_password_hash from db import get_database from api import deps from utils import casbin_enforcer router = APIRouter() @router.post('/add_data_auth') async def add_data_auth(request: Request, data_id: schemas.DataAuthCreate, game: str = Depends(deps.get_game_project), db: AsyncIOMotorDatabase = Depends(get_database), current_user: schemas.UserDB = Depends(deps.get_current_user) ) -> schemas.Msg: """创建数据权限""" await crud.data_auth.create(db, data_id, game) return schemas.Msg(code=0, msg='ok', data=data_id) @router.get("/data_auth") async def data_authority(request: Request, db: AsyncIOMotorDatabase = Depends(get_database), game: str = Depends(deps.get_game_project), current_user: schemas.UserDB = Depends(deps.get_current_user) ) -> schemas.Msg: """获取前项目数据权限""" data = await crud.data_auth.get_game_data_auth(db, game) for item in data: item['id'] = str(item['_id']) del item['_id'] return schemas.Msg(code=0, msg='ok', data=data)