Initial commit
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
from fastapi import APIRouter, Query, status, Depends, Response, HTTPException
|
||||
|
||||
from backend.code.modules.settlements.controller import SettlementController
|
||||
from backend.code.models.responses.settlement_detail import SettlementDetailResponse
|
||||
from backend.code.models.requests.settlement_register import SettlementRegisterRequest
|
||||
from backend.code.models.requests.settlement_edit import SettlementEditRequest
|
||||
from backend.code.models.requests.settlement_register_done import SettlementRegisterDoneRequest
|
||||
|
||||
routes = APIRouter(prefix="/settlements", tags=['Settlement'])
|
||||
controller = SettlementController()
|
||||
|
||||
@routes.get("", status_code = status.HTTP_200_OK, response_model = list[SettlementDetailResponse])
|
||||
def ListSettlements(params: str | None = Query(default = None, alias = 'query')):
|
||||
settlements = controller.ListSettlements(params)
|
||||
if settlements is None:
|
||||
raise HTTPException(status_code = status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
if len(settlements) == 0:
|
||||
return Response(status_code = status.HTTP_204_NO_CONTENT)
|
||||
|
||||
return settlements
|
||||
|
||||
@routes.get("/{id}", status_code = status.HTTP_200_OK, response_model = SettlementDetailResponse)
|
||||
def GetSettlement(id: int):
|
||||
settlement = controller.SelectSettlement(id)
|
||||
if settlement is None:
|
||||
raise HTTPException(status_code = status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return settlement
|
||||
|
||||
@routes.post('', status_code = status.HTTP_201_CREATED, response_model = SettlementDetailResponse)
|
||||
def RegisterSettlement(data: SettlementRegisterRequest):
|
||||
created = controller.RegisterSettlement(data.Name, data.Address, data.Active)
|
||||
if created is None:
|
||||
raise HTTPException(status_code = status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
if created == -9:
|
||||
raise HTTPException(status_code = status.HTTP_409_CONFLICT, detail = 'Settlement name or address exists')
|
||||
|
||||
return created
|
||||
|
||||
@routes.put("/{id}", status_code = status.HTTP_204_NO_CONTENT)
|
||||
def EditSettlement(id: str, data: SettlementEditRequest):
|
||||
edited = controller.EditSettlement(id, data.Name, data.Address, data.Active)
|
||||
if edited is None:
|
||||
raise HTTPException(status_code = status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
if deleted == -10:
|
||||
raise HTTPException(status_code = status.HTTP_404_NOT_FOUND)
|
||||
|
||||
@routes.post('/done', status_code = status.HTTP_200_OK)
|
||||
def RegisterSettlementDone(data: SettlementRegisterDoneRequest):
|
||||
registered = controller.
|
||||
|
||||
@routes.delete("/{id}", status_code = status.HTTP_204_NO_CONTENT)
|
||||
def DisableSettlement(id: str):
|
||||
deleted = controller.DeleteSettlement(id)
|
||||
if deleted is None:
|
||||
raise HTTPException(status_code = status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
if deleted == -10:
|
||||
raise HTTPException(status_code = status.HTTP_404_NOT_FOUND)
|
||||
Reference in New Issue
Block a user