diff --git a/app/models/grand_project.py b/app/models/grand_project.py new file mode 100644 index 0000000..bd65dfe --- /dev/null +++ b/app/models/grand_project.py @@ -0,0 +1,19 @@ +import uuid +from typing import Optional, List + +import pydantic +from pydantic import Field + +from core.models.base import BaseModel + + +class AssignProject(pydantic.BaseModel): + project_id:uuid.UUID=Field(description='کد شناسایی پروژه در این فیلد قرار میگیرد') + weight:int=Field(description='وزن پیشرفت پروژه در این فیلد قرار میگیرد') + +class GrandProjectModel(BaseModel): + id: Optional[uuid.UUID] = Field(alias='_id') + user_id: Optional[int] = Field(description='کد شناسایی کاربر در این فیلد قرار می گیرد') + title: str = Field(description='عنوان در این فیلد قرار می گیرد') + assign_project:List[AssignProject]=Field(description='لیست پروژه ها و درصد پیشرفت فیزیکی آنها') + diff --git a/app/models/project.py b/app/models/project.py index 445dc83..cdd3460 100644 --- a/app/models/project.py +++ b/app/models/project.py @@ -103,14 +103,4 @@ class ProjectModel(BaseModel): monitor:Optional[Monitor] = Field(description="فیلدهای نظارت") design:Design = Field(description='فیلدهای طراحی') -class AssignProject(pydantic.BaseModel): - project_id:uuid.UUID=Field(description='کد شناسایی پروژه در این فیلد قرار میگیرد') - weight:int=Field(description='وزن پیشرفت پروژه در این فیلد قرار میگیرد') - -class GrandProjectModel(BaseModel): - id: Optional[uuid.UUID] = Field(alias='_id') - user_id: Optional[int] = Field(description='کد شناسایی کاربر در این فیلد قرار می گیرد') - title: str = Field(description='عنوان در این فیلد قرار می گیرد') - assign_project:List[AssignProject]=Field(description='لیست پروژه ها و درصد پیشرفت فیزیکی آنها') - diff --git a/app/repositories/grand_project.py b/app/repositories/grand_project.py new file mode 100644 index 0000000..1035439 --- /dev/null +++ b/app/repositories/grand_project.py @@ -0,0 +1,7 @@ +from app.models.grand_project import GrandProjectModel +from core.repositories.base import BaseRepository + +COLLECTION = "grand_project" +class GrandProject(BaseRepository[GrandProjectModel]): + def __init__(self): + super().__init__(collection=COLLECTION, model=GrandProjectModel) \ No newline at end of file