diff --git a/app/repositories/project.py b/app/repositories/project.py index e744d79..234cf05 100644 --- a/app/repositories/project.py +++ b/app/repositories/project.py @@ -96,6 +96,15 @@ class ProjectRepository(BaseRepository[ProjectModel]): }}) return True + async def restore(self, _id: UUID): + old_project = await use_collection(COLLECTION).find_one({"_id":_id}) + if not old_project: + raise HTTPException(status_code=400,detail='این پروژه وجود ندارد') + await use_collection(COLLECTION).update_one({"_id":_id},{"$set":{ + 'sts':1, + }}) + return True + async def list_project_design(self): project = await use_collection(COLLECTION).find({'monitor':{"$exists":0}}).to_list(None) diff --git a/app/urls/project.py b/app/urls/project.py index f48d9a6..a4164e9 100644 --- a/app/urls/project.py +++ b/app/urls/project.py @@ -61,6 +61,11 @@ def update(_id: UUID, coding: ThisModel = Body(...)): def delete(_id: UUID): pass +@router.get('/restore/{_id}', response_model=bool, tags=_tag_base) +@shrink(repo.restore) +def restore(_id: UUID): + pass + @router.get('/{_id}', response_model=ThisModel, tags=_tag_base) @shrink(repo.get) def get(_id: UUID):