From 73db8500858bd1728dbf75ab58fa24bea85ab51c Mon Sep 17 00:00:00 2001 From: shahzeydyfah Date: Thu, 6 Jun 2024 21:52:25 +0330 Subject: [PATCH] feat:add delivery --- app/config/__init__.py | 5 +++- app/models/delivery.py | 18 +++++++++++++ app/repositories/delivery.py | 12 +++++++++ app/urls/__init__.py | 5 +++- app/urls/delivery.py | 45 +++++++++++++++++++++++++++++++ app/urls/financial_pre_payment.py | 14 +++++----- 6 files changed, 90 insertions(+), 9 deletions(-) create mode 100644 app/models/delivery.py create mode 100644 app/repositories/delivery.py create mode 100644 app/urls/delivery.py diff --git a/app/config/__init__.py b/app/config/__init__.py index 5a3fc0c..24b564c 100644 --- a/app/config/__init__.py +++ b/app/config/__init__.py @@ -6,10 +6,13 @@ class TaskEnv: CLN_AUDIT_PROGRAM = 'audit_program' CLN_BILL_DELAY = 'bill_delay' CLN_CONTRACT = 'contract' - CLN_BILL = 'bill' + # CLN_BILL = 'bill' CLN_MONITOR_PYSICAL = 'monitor_physical' CLN_MONITOR_RIAL = 'monitor_rial' CLN_MONITOR_SECONDARY = 'monitor_secondary' CLN_FINANCIAL_PRE_PAYMENT = 'financial_pre_payment' + # CLN_FINANCIAL_STATUS = 'financial_status' + # CLN_FINANCIAL_ADJUST = 'financial_adjust' + CLN_DELIVERY = 'delivery' diff --git a/app/models/delivery.py b/app/models/delivery.py new file mode 100644 index 0000000..781b43b --- /dev/null +++ b/app/models/delivery.py @@ -0,0 +1,18 @@ +import uuid +from datetime import datetime +from typing import Optional + +from pydantic import Field + +from core.models.base import BaseModel + + +class DeliveryModel(BaseModel): + id: Optional[uuid.UUID] = Field(alias='_id') + project_id: Optional[uuid.UUID] = Field(description="کد شناسایی پروژه در این فیلد قرار می گیرد") + temporary_at:Optional[datetime] = Field(description='تاریخ تحویل موقت') + temporary_notif_at:Optional[datetime] = Field(description=' تاریخ ابلاغ صورت جلسه تحویل موقت') + expire_fix_at:Optional[datetime] = Field(description='تاریخ پایان مهلت رفع نقص') + certain_at:Optional[datetime] = Field(description=' تاریخ تحویل قطعی ') + + diff --git a/app/repositories/delivery.py b/app/repositories/delivery.py new file mode 100644 index 0000000..e812d8a --- /dev/null +++ b/app/repositories/delivery.py @@ -0,0 +1,12 @@ +import uuid + +from app.config import TaskEnv +from app.models.delivery import DeliveryModel +from core.repositories.base import BaseRepository + + +class DeliveryRepository(BaseRepository): + def __init__(self): + super().__init__(collection=TaskEnv.CLN_DELIVERY, model=DeliveryModel) + + diff --git a/app/urls/__init__.py b/app/urls/__init__.py index b01f70c..0c9edaa 100644 --- a/app/urls/__init__.py +++ b/app/urls/__init__.py @@ -12,4 +12,7 @@ from .contract import * from .monitor_physical import * from .monitor_rial import * from .monitor_secondary import * -from .financial_pre_payment import * \ No newline at end of file +from .financial_pre_payment import * +from .financial_status import * +from .financial_adjust import * +from .delivery import * \ No newline at end of file diff --git a/app/urls/delivery.py b/app/urls/delivery.py new file mode 100644 index 0000000..7ef2dc6 --- /dev/null +++ b/app/urls/delivery.py @@ -0,0 +1,45 @@ +from uuid import UUID + +from fastapi import Body + +from app.models.delivery import DeliveryModel +from app.repositories.delivery import DeliveryRepository +from core.app import app +from core.utils.router import generate_router, shrink +from core.utils.table_engine import TableEngineExport, TableEngineRequestType + +ThisModel = DeliveryModel +router_base_url = 'delivery' +_tag_base = [router_base_url] +router = generate_router(router_base_url, auth_dependencies=False, version='v2') +repo = DeliveryRepository() + + + +@router.post('/create', response_model=ThisModel, tags=_tag_base, description='تحویل') +@shrink(repo.create) +def create(coding: ThisModel = Body(...)): + pass + + +@router.put('/{_id}', response_model=ThisModel, tags=_tag_base, description='تحویل') +@shrink(repo.update) +def update(_id: UUID, coding: ThisModel = Body(...)): + pass + +@router.get('/{_id}', response_model=ThisModel, tags=_tag_base, description='تحویل') +@shrink(repo.get) +def get(_id: UUID): + pass + +@router.delete('/{_id}', response_model=ThisModel, tags=_tag_base, description='تحویل') +@shrink(repo.delete) +def delete(_id: UUID): + pass + +@router.post('', response_model=TableEngineExport[ThisModel], tags=_tag_base, description='تحویل') +@shrink(repo.fetch) +def fetch(body: TableEngineRequestType = Body(...)): + pass + +app.include_router(router) \ No newline at end of file diff --git a/app/urls/financial_pre_payment.py b/app/urls/financial_pre_payment.py index a7b3857..82c9385 100644 --- a/app/urls/financial_pre_payment.py +++ b/app/urls/financial_pre_payment.py @@ -14,37 +14,37 @@ _tag_base = [router_base_url] router = generate_router(router_base_url, auth_dependencies=False, version='v2') repo = PrePaymentRepository() -@router.post('/create', response_model=ThisModel, tags=_tag_base) +@router.post('/create', response_model=ThisModel, tags=_tag_base, description='پیش پرداخت') @shrink(repo.create) def create(coding: ThisModel = Body(...)): pass -@router.get('sum/{project_id}', response_model=ThisModel, tags=_tag_base) +@router.get('sum/{project_id}', response_model=ThisModel, tags=_tag_base, description='پیش پرداخت') @shrink(repo.sum_amount) def sum_amount(project_id: UUID): pass -@router.get('list/{project_id}', response_model=ThisModel, tags=_tag_base) +@router.get('list/{project_id}', response_model=ThisModel, tags=_tag_base, description='پیش پرداخت') @shrink(repo.get_list) def get_list(project_id: UUID): pass -@router.put('/{_id}', response_model=ThisModel, tags=_tag_base) +@router.put('/{_id}', response_model=ThisModel, tags=_tag_base, description='پیش پرداخت') @shrink(repo.update) def update(_id: UUID, coding: ThisModel = Body(...)): pass -@router.get('/{_id}', response_model=ThisModel, tags=_tag_base) +@router.get('/{_id}', response_model=ThisModel, tags=_tag_base, description='پیش پرداخت') @shrink(repo.get) def get(_id: UUID): pass -@router.delete('/{_id}', response_model=ThisModel, tags=_tag_base) +@router.delete('/{_id}', response_model=ThisModel, tags=_tag_base, description='پیش پرداخت') @shrink(repo.delete) def delete(_id: UUID): pass -@router.post('', response_model=TableEngineExport[ThisModel], tags=_tag_base) +@router.post('', response_model=TableEngineExport[ThisModel], tags=_tag_base, description='پیش پرداخت') @shrink(repo.fetch) def fetch(body: TableEngineRequestType = Body(...)): pass