From c7b274a6be1d197beba962f3f9411fc56b72c72f Mon Sep 17 00:00:00 2001 From: shahzeydyfah Date: Thu, 22 Feb 2024 11:47:41 +0330 Subject: [PATCH] add grand project model, repository --- app/repositories/grand_project.py | 2 +- app/urls/__init__.py | 1 + app/urls/grand_project.py | 49 +++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 app/urls/grand_project.py diff --git a/app/repositories/grand_project.py b/app/repositories/grand_project.py index 1035439..f5cedb7 100644 --- a/app/repositories/grand_project.py +++ b/app/repositories/grand_project.py @@ -2,6 +2,6 @@ from app.models.grand_project import GrandProjectModel from core.repositories.base import BaseRepository COLLECTION = "grand_project" -class GrandProject(BaseRepository[GrandProjectModel]): +class GrandProjectRepository(BaseRepository[GrandProjectModel]): def __init__(self): super().__init__(collection=COLLECTION, model=GrandProjectModel) \ No newline at end of file diff --git a/app/urls/__init__.py b/app/urls/__init__.py index 8dc4240..c9f9243 100644 --- a/app/urls/__init__.py +++ b/app/urls/__init__.py @@ -1 +1,2 @@ from .project import * +from .grand_project import * diff --git a/app/urls/grand_project.py b/app/urls/grand_project.py new file mode 100644 index 0000000..69934d6 --- /dev/null +++ b/app/urls/grand_project.py @@ -0,0 +1,49 @@ +from uuid import UUID + +from fastapi import Body + +from app.models.grand_project import GrandProjectModel +from app.repositories.grand_project import GrandProjectRepository +from core.app import app +from core.utils.router import generate_router, shrink +from core.utils.table_engine import TableEngineExport, TableEngineRequestType + +ThisModel = GrandProjectModel +router_base_url = 'grand' +_tag_base = [router_base_url] +router = generate_router(router_base_url, auth_dependencies=False, version='v2') + + +repo = GrandProjectRepository() + + +@router.post('/create', response_model=ThisModel, tags=_tag_base) +@shrink(repo.create) +def create(coding: ThisModel = Body(...)): + pass + + +@router.put('/{_id}', response_model=ThisModel, tags=_tag_base) +@shrink(repo.update) +def update(_id: UUID, coding: ThisModel = Body(...)): + pass + + +@router.delete('/{_id}', response_model=bool, tags=_tag_base) +@shrink(repo.delete) +def delete(_id: UUID): + pass + +@router.get('/{_id}', response_model=ThisModel, tags=_tag_base) +@shrink(repo.get) +def get(_id: UUID): + pass + + +@router.post('', response_model=TableEngineExport[ThisModel], tags=_tag_base) +@shrink(repo.fetch) +def fetch(body: TableEngineRequestType = Body(...)): + pass + + +app.include_router(router) \ No newline at end of file