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
from uuid import UUID
import requests
from fastapi import HTTPException
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.service.mongo_db import use_collection
from core.utils.table_engine import TableEngineRequestType, TableEngineExport
from core.utils.te import NewTableEngine
from typing import TypeVar
from typing import TypeVar, List
COLLECTION = "project"
T = TypeVar('T')
@@ -128,6 +130,10 @@ class ProjectRepository(BaseRepository[ProjectModel]):
}).to_list(None)
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):
project = await use_collection(TaskEnv.CLN_PROJECT).find_one({"_id": project_id})
if not ('sts' in project['monitor'] and project['monitor']['sts'] > 1):
@@ -164,3 +170,28 @@ class ProjectRepository(BaseRepository[ProjectModel]):
extra_filter=[{'sts': 1}],
inputs=_input.te) \
.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 fastapi import Body
@@ -31,6 +32,11 @@ def list_project_design():
def list_project_monitor():
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)
@shrink(repo.update_design_sts)
def update_design_sts(_id: UUID, coding: UpdateSts = Body(...)):
@@ -83,4 +89,10 @@ def fetch_delete(body: TableEngineRequestType = Body(...)):
pass
# @router.post('/get_all', tags=_tag_base)
# @shrink(repo.get_all)
# def get_all():
# pass
app.include_router(router)