feat(project):add list

This commit is contained in:
shahzeydyfah
2024-12-31 07:14:34 +03:30
parent a01be5c9ef
commit 35853cec13
2 changed files with 45 additions and 2 deletions
+33 -2
View File
@@ -1,15 +1,17 @@
import json
import uuid import uuid
from uuid import UUID from uuid import UUID
import requests
from fastapi import HTTPException from fastapi import HTTPException
from app.config import TaskEnv from app.config import TaskEnv
from app.models.project import ProjectModel, UpdateSts, ProjectSts from app.models.project import ProjectModel, UpdateSts, ProjectSts, Design
from core.repositories.base import BaseRepository from core.repositories.base import BaseRepository
from core.service.mongo_db import use_collection from core.service.mongo_db import use_collection
from core.utils.table_engine import TableEngineRequestType, TableEngineExport from core.utils.table_engine import TableEngineRequestType, TableEngineExport
from core.utils.te import NewTableEngine from core.utils.te import NewTableEngine
from typing import TypeVar from typing import TypeVar, List
COLLECTION = "project" COLLECTION = "project"
T = TypeVar('T') T = TypeVar('T')
@@ -128,6 +130,10 @@ class ProjectRepository(BaseRepository[ProjectModel]):
}).to_list(None) }).to_list(None)
return sts_project return sts_project
async def list_project(self):
project = await use_collection(TaskEnv.CLN_PROJECT).find({}).to_list(None)
return project
async def set_sts_two_for_monitor(self,project_id:uuid.UUID): async def set_sts_two_for_monitor(self,project_id:uuid.UUID):
project = await use_collection(TaskEnv.CLN_PROJECT).find_one({"_id": project_id}) project = await use_collection(TaskEnv.CLN_PROJECT).find_one({"_id": project_id})
if not ('sts' in project['monitor'] and project['monitor']['sts'] > 1): if not ('sts' in project['monitor'] and project['monitor']['sts'] > 1):
@@ -164,3 +170,28 @@ class ProjectRepository(BaseRepository[ProjectModel]):
extra_filter=[{'sts': 1}], extra_filter=[{'sts': 1}],
inputs=_input.te) \ inputs=_input.te) \
.to_dict() .to_dict()
async def get_all(self):
url = 'http://api.khanesaziceco.ir/api/api/project/table'
headers = {'authorization':'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkua2hhbmVzYXppY2Vjby5pclwvYXBpXC9hdXRoXC9sb2dpbiIsImlhdCI6MTcyOTg4MTc2OCwiZXhwIjoxNzMyNDczNzY4LCJuYmYiOjE3Mjk4ODE3NjgsImp0aSI6IjRiUGQ0dW1Wc2ZBSnNFUzUiLCJzdWIiOjEzNiwicHJ2IjoiMjNiZDVjODk0OWY2MDBhZGIzOWU3MDFjNDAwODcyZGI3YTU5NzZmNyJ9.LsinrL84iKAd4HaTHmsaDCALXJPwMLegNpeFhlJL0aY'}
data = {"page": 1,
"limit": 400,
"sort":"_id"
}
res = requests.post(url,data=json.dumps(data), headers=headers)
a = res.json()
print(a['rows'][0])
obj = []
for i in a['rows']:
_set= ProjectModel(
sts=1,
counter=i['id'],
design= Design(**i)
).init_id().cu_at()
obj.append(_set.mongo_dict())
print()
# await use_collection(TaskEnv.CLN_PROJECT).insert_many(obj)
return res.json()
+12
View File
@@ -1,3 +1,4 @@
from typing import List
from uuid import UUID from uuid import UUID
from fastapi import Body from fastapi import Body
@@ -31,6 +32,11 @@ def list_project_design():
def list_project_monitor(): def list_project_monitor():
pass pass
@router.get('/list/project', response_model=List[ThisModel], tags=_tag_base)
@shrink(repo.list_project)
def list_project():
pass
@router.put('/design/sts/{_id}', response_model=ThisModel, tags=_tag_base) @router.put('/design/sts/{_id}', response_model=ThisModel, tags=_tag_base)
@shrink(repo.update_design_sts) @shrink(repo.update_design_sts)
def update_design_sts(_id: UUID, coding: UpdateSts = Body(...)): def update_design_sts(_id: UUID, coding: UpdateSts = Body(...)):
@@ -83,4 +89,10 @@ def fetch_delete(body: TableEngineRequestType = Body(...)):
pass pass
# @router.post('/get_all', tags=_tag_base)
# @shrink(repo.get_all)
# def get_all():
# pass
app.include_router(router) app.include_router(router)