Files
sakhteman/app/urls/contract.py
T

74 lines
2.4 KiB
Python

from typing import List
from uuid import UUID
from fastapi import Body
from app.models.contract import ContractModel, AddendumModel, ExtensionModel
from app.repositories.contract import ContractRepository
from core.app import app
from core.utils.router import generate_router, shrink
from core.utils.table_engine import TableEngineExport, TableEngineRequestType
ThisModel = ContractModel
router_base_url = 'contract'
_tag_base = [router_base_url]
router = generate_router(router_base_url, auth_dependencies=False, version='v2')
repo = ContractRepository()
@router.post('/add/create/{contract_id}', response_model=ContractModel, tags=_tag_base)
@shrink(repo.create_add)
def create_add(contract_id: UUID,coding: AddendumModel = Body(...)):
pass
@router.put('/add/update/{contract_id}', response_model=ContractModel, tags=_tag_base)
@shrink(repo.update_add)
def update_add(contract_id: UUID,coding: AddendumModel = Body(...)):
pass
@router.post('/extension/create/{contract_id}', response_model=ContractModel, tags=_tag_base)
@shrink(repo.create_extension)
def create_extension(contract_id: UUID,coding: ExtensionModel = Body(...)):
pass
@router.put('/extension/create/{contract_id}', response_model=ContractModel, tags=_tag_base)
@shrink(repo.update_extention)
def update_extention(contract_id: UUID,coding: ExtensionModel = Body(...)):
pass
@router.post('/create', response_model=ContractModel, tags=_tag_base)
@shrink(repo.create)
def create(coding: ContractModel = Body(...)):
pass
@router.get('/list/{project_id}', response_model=List[ContractModel], tags=_tag_base)
@shrink(repo.get_list)
def get_list(project_id:UUID):
pass
@router.put('/{_id}', response_model=ContractModel, tags=_tag_base)
@shrink(repo.update)
def update(_id: UUID, coding: ContractModel = Body(...)):
pass
@router.get('/{_id}', response_model=ThisModel, tags=_tag_base)
@shrink(repo.get)
def get(_id: UUID):
pass
@router.delete('/{_id}', response_model=ThisModel, tags=_tag_base)
@shrink(repo.delete)
def delete(_id: UUID):
pass
@router.post('', response_model=TableEngineExport[ThisModel], tags=_tag_base)
@shrink(repo.fetch)
def fetch(body: TableEngineRequestType = Body(...)):
pass
@router.post('/report', response_model=TableEngineExport[ThisModel], tags=_tag_base)
@shrink(repo.fetch_report)
def fetch_report(body: TableEngineRequestType = Body(...)):
pass
app.include_router(router)