feat:add fetch delete
This commit is contained in:
@@ -7,8 +7,12 @@ from app.config import TaskEnv
|
||||
from app.models.project import ProjectModel, UpdateSts, ProjectSts
|
||||
from core.repositories.base import BaseRepository
|
||||
from core.service.mongo_db import use_collection
|
||||
from core.utils.table_engine import TableEngineRequestType, TableEngineExport
|
||||
from core.utils.te import NewTableEngine
|
||||
from typing import TypeVar
|
||||
|
||||
COLLECTION = "project"
|
||||
T = TypeVar('T')
|
||||
class ProjectRepository(BaseRepository[ProjectModel]):
|
||||
def __init__(self):
|
||||
super().__init__(collection=COLLECTION, model=ProjectModel)
|
||||
@@ -130,4 +134,14 @@ class ProjectRepository(BaseRepository[ProjectModel]):
|
||||
await use_collection(TaskEnv.CLN_PROJECT_STS).insert_one(sts_class.mongo_dict())
|
||||
|
||||
|
||||
return True
|
||||
return True
|
||||
|
||||
async def fetch_delete(self, _input: TableEngineRequestType) -> TableEngineExport[T]:
|
||||
return await NewTableEngine.mongo(
|
||||
query_class=use_collection(self.COLLECTION),
|
||||
soft_deleted=True,
|
||||
model=self.MODEL,
|
||||
search_cols=['name'],
|
||||
extra_filter={'sts':2},
|
||||
inputs=_input.te) \
|
||||
.to_dict()
|
||||
|
||||
@@ -72,5 +72,10 @@ def get(_id: UUID):
|
||||
def fetch(body: TableEngineRequestType = Body(...)):
|
||||
pass
|
||||
|
||||
@router.post('/fetch_delete', response_model=TableEngineExport[ThisModel], tags=_tag_base)
|
||||
@shrink(repo.fetch_delete)
|
||||
def fetch_delete(body: TableEngineRequestType = Body(...)):
|
||||
pass
|
||||
|
||||
|
||||
app.include_router(router)
|
||||
Reference in New Issue
Block a user