Adding simple permission to routes
This commit is contained in:
@@ -10,24 +10,19 @@ from .schemas import ContractCreate, ContractRead, ContractUpdate
|
||||
|
||||
from ..entity.models import Entity
|
||||
from ..template.models import ProvisionTemplate
|
||||
from ..user.manager import get_current_user, get_current_superuser
|
||||
|
||||
contract_router = get_crud_router(Contract, ContractCreate, ContractRead, ContractUpdate)
|
||||
del(contract_router.routes[0])
|
||||
del(contract_router.routes[2])
|
||||
del(contract_router.routes[2])
|
||||
|
||||
contract_router.include_router(draft_router, prefix="/draft", tags=["draft"], )
|
||||
contract_router.include_router(print_router, prefix="/print", tags=["print"], )
|
||||
|
||||
|
||||
def can_create_contract():
|
||||
class User:
|
||||
entity_id = '63d127bcf355de8e65a193e1'
|
||||
return User()
|
||||
contract_router.include_router(draft_router, prefix="/draft", )
|
||||
contract_router.include_router(print_router, prefix="/print", )
|
||||
|
||||
|
||||
@contract_router.post("/", response_description="Contract Successfully created")
|
||||
async def create(item: ContractCreate, user=Depends(can_create_contract)) -> dict:
|
||||
async def create(item: ContractCreate, user=Depends(get_current_user)) -> dict:
|
||||
await item.validate_foreign_key()
|
||||
|
||||
draft = await ContractDraft.get(item.draft_id)
|
||||
@@ -72,5 +67,15 @@ async def create(item: ContractCreate, user=Depends(can_create_contract)) -> dic
|
||||
|
||||
|
||||
@contract_router.put("/{id}", response_description="")
|
||||
async def update(id: str, req: ContractUpdate) -> ContractRead:
|
||||
async def update(id: str, contract_form: ContractUpdate, user=Depends(get_current_superuser)) -> ContractRead:
|
||||
raise HTTPException(status_code=400, detail="No modification on contract")
|
||||
|
||||
|
||||
@contract_router.get("/signature/{signature_id}", response_description="")
|
||||
async def get_signature(signature_id: str) -> ContractRead:
|
||||
raise HTTPException(status_code=500, detail="Not implemented")
|
||||
|
||||
|
||||
@contract_router.post("/signature/{signature_id}", response_description="")
|
||||
async def affix_signature(signature_id: str, signature_form: ContractCreate) -> ContractRead:
|
||||
raise HTTPException(status_code=500, detail="Not implemented")
|
||||
|
||||
Reference in New Issue
Block a user