1
This commit is contained in:
parent
ea93aee1bd
commit
d30d98fb3d
@ -71,6 +71,21 @@ async def move(
|
|||||||
return schemas.Msg(code=0, msg='ok', data='移动成功')
|
return schemas.Msg(code=0, msg='ok', data='移动成功')
|
||||||
|
|
||||||
|
|
||||||
|
@router.post("/sort")
|
||||||
|
async def sort(
|
||||||
|
game: str,
|
||||||
|
data_in: schemas.DashboardSort,
|
||||||
|
db: AsyncIOMotorDatabase = Depends(get_database),
|
||||||
|
current_user: schemas.UserDB = Depends(deps.get_current_user)
|
||||||
|
) -> schemas.Msg:
|
||||||
|
"""
|
||||||
|
看板排序
|
||||||
|
"""
|
||||||
|
for item in data_in.sort:
|
||||||
|
await crud.dashboard.set_sort(db, index=item.dashboard_id, sort=item.sort)
|
||||||
|
return schemas.Msg(code=0, msg='ok', data=1)
|
||||||
|
|
||||||
|
|
||||||
@router.post("/copy")
|
@router.post("/copy")
|
||||||
async def copy(
|
async def copy(
|
||||||
data_in: schemas.DashboardCopy,
|
data_in: schemas.DashboardCopy,
|
||||||
|
@ -239,13 +239,12 @@ async def read_kanban(
|
|||||||
kanban = await crud.folder.read_folder(db, project_id=data_in.id, user_id=current_user.id, cat='kanban')
|
kanban = await crud.folder.read_folder(db, project_id=data_in.id, user_id=current_user.id, cat='kanban')
|
||||||
|
|
||||||
for item in kanban:
|
for item in kanban:
|
||||||
dashboards = await crud.dashboard.find_many(db, {'pid': item['_id']})
|
|
||||||
res['kanban'].append({
|
res['kanban'].append({
|
||||||
'name': item['name'],
|
'name': item['name'],
|
||||||
'children': [],
|
'children': [],
|
||||||
'_id': item['_id']
|
'_id': item['_id']
|
||||||
})
|
})
|
||||||
for d in dashboards:
|
async for d in crud.dashboard.find(db, {'pid': item['_id']}).sort([('sort', 1)]):
|
||||||
res['kanban'][-1]['children'].append({
|
res['kanban'][-1]['children'].append({
|
||||||
'name': d['name'],
|
'name': d['name'],
|
||||||
'_id': d['_id']
|
'_id': d['_id']
|
||||||
@ -275,14 +274,14 @@ async def read_kanban(
|
|||||||
'isFolder': True
|
'isFolder': True
|
||||||
})
|
})
|
||||||
|
|
||||||
for d in await crud.dashboard.find_many(db, {'pid': f['_id']}):
|
async for d in crud.dashboard.find(db, {'pid': item['_id']}).sort([('sort', 1)]):
|
||||||
res['spaces'][-1]['children'][-1]['children'].append({
|
res['spaces'][-1]['children'][-1]['children'].append({
|
||||||
'name': d['name'],
|
'name': d['name'],
|
||||||
'_id': d['_id']
|
'_id': d['_id']
|
||||||
})
|
})
|
||||||
|
|
||||||
# 空间 看板
|
# 空间 看板
|
||||||
for d in await crud.dashboard.find_many(db, {'pid': item['_id']}):
|
async for d in crud.dashboard.find(db, {'pid': item['_id']}).sort([('sort', 1)]):
|
||||||
res['spaces'][-1]['children'].append({
|
res['spaces'][-1]['children'].append({
|
||||||
'name': d['name'],
|
'name': d['name'],
|
||||||
'_id': d['_id'],
|
'_id': d['_id'],
|
||||||
|
@ -17,11 +17,13 @@ class CRUDDashboard(CRUDBase):
|
|||||||
)
|
)
|
||||||
await db[self.coll_name].insert_one(db_obj.dict(by_alias=True))
|
await db[self.coll_name].insert_one(db_obj.dict(by_alias=True))
|
||||||
|
|
||||||
|
async def set_sort(self, db: AsyncIOMotorDatabase, index: str, sort: int):
|
||||||
|
await self.update_one(db, {'_id': index}, {'$set': {'sort': sort}})
|
||||||
|
|
||||||
async def create_index(self, db: AsyncIOMotorDatabase):
|
async def create_index(self, db: AsyncIOMotorDatabase):
|
||||||
await db[self.coll_name].create_index(
|
await db[self.coll_name].create_index(
|
||||||
[('project_id', pymongo.DESCENDING), ('name', pymongo.DESCENDING), ('user_id', pymongo.DESCENDING)],
|
[('project_id', pymongo.DESCENDING), ('name', pymongo.DESCENDING), ('user_id', pymongo.DESCENDING)],
|
||||||
unique=True)
|
unique=True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dashboard = CRUDDashboard('dashboard')
|
dashboard = CRUDDashboard('dashboard')
|
||||||
|
@ -59,6 +59,15 @@ class DashboardMove(BaseModel):
|
|||||||
cat: Category
|
cat: Category
|
||||||
|
|
||||||
|
|
||||||
|
class Sort(BaseModel):
|
||||||
|
dashboard_id: str
|
||||||
|
sort: int
|
||||||
|
|
||||||
|
|
||||||
|
class DashboardSort(BaseModel):
|
||||||
|
sort: List[Sort]
|
||||||
|
|
||||||
|
|
||||||
class DashboardCopy(BaseModel):
|
class DashboardCopy(BaseModel):
|
||||||
source_ids: List[str]
|
source_ids: List[str]
|
||||||
dest_project_id: str
|
dest_project_id: str
|
||||||
|
Loading…
Reference in New Issue
Block a user