тесты
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.
 
 
 
 
 

47 lines
1.5 KiB

from fastapi import APIRouter, BackgroundTasks
import backend_fastapi.schemas as schemas
from backend_fastapi.repositories import get_stored_roles, add_role, add_user, get_role_all, update_role, delete_role, update_user,delete_user,get_users
from typing import List
router = APIRouter()
@router.post("/role")
async def create_role(role: schemas.RoleCreate) -> schemas.Role:
return await add_role(role)
@router.get("/stored_role")
async def get_stored_role() -> List[schemas.Role]:
return await get_stored_roles()
@router.get("/role")
async def get_role(limit:int=10, page:int=0) -> List[schemas.Role]:
return await get_role_all(limit, page)
@router.patch("/role")
async def change_role(role: schemas.Role, id: int) -> None:
return await update_role(role, id)
@router.delete("/role")
async def remove_role(id: int) -> schemas.Role:
return await delete_role(id)
@router.post("/user")
async def create_user(user: schemas.UserCreate) -> schemas.User:
import hashlib
user.hashed_password = hashlib.sha256(user.hashed_password.encode('utf-8')).hexdigest()
return await add_user(user)
@router.get('/user')
async def show_users(limit:int=10, page:int=0):
return await get_users(limit, page)
@router.patch('/user')
async def change_users(user: schemas.User, id: int):
import hashlib
if user.hashed_password:
user.hashed_password = hashlib.sha256(user.hashed_password.encode('utf-8')).hexdigest()
return await update_user(user, id)
@router.delete('/user')
async def remove_users(id: int):
return await delete_user(id)