xbackend/api/api_v1/endpoints/data_auth.py
2021-05-17 18:44:34 +08:00

40 lines
1.4 KiB
Python

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)