Skip to content

Commit 33ebc57

Browse files
authored
Add get all data scope rules interface (#647)
1 parent 86d9efd commit 33ebc57

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

backend/app/admin/api/v1/sys/data_scope.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@
2222
router = APIRouter()
2323

2424

25+
@router.get('/all', summary='获取所有数据范围', dependencies=[DependsJwtAuth])
26+
async def get_all_data_scope() -> ResponseSchemaModel[list[GetDataScopeDetail]]:
27+
data = await data_scope_service.get_all()
28+
return response_base.success(data=data)
29+
30+
2531
@router.get('/{pk}', summary='获取数据范围详情', dependencies=[DependsJwtAuth])
2632
async def get_data_scope(
2733
pk: Annotated[int, Path(description='数据范围 ID')],

backend/app/admin/crud/crud_data_scope.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
3+
from typing import Sequence
4+
35
from sqlalchemy import Select, and_, desc, select
46
from sqlalchemy.ext.asyncio import AsyncSession
57
from sqlalchemy.orm import noload, selectinload
@@ -44,6 +46,15 @@ async def get_with_relation(self, db: AsyncSession, pk: int) -> DataScope:
4446
data_scope = await db.execute(stmt)
4547
return data_scope.scalars().first()
4648

49+
async def get_all(self, db: AsyncSession) -> Sequence[DataScope]:
50+
"""
51+
获取所有数据范围
52+
53+
:param db: 数据库会话
54+
:return:
55+
"""
56+
return await self.select_models(db)
57+
4758
async def get_list(self, name: str | None, status: int | None) -> Select:
4859
"""
4960
获取数据范围列表

backend/app/admin/service/data_scope_service.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
3+
from typing import Sequence
4+
35
from sqlalchemy import Select
46

57
from backend.app.admin.crud.crud_data_scope import data_scope_dao
@@ -28,6 +30,13 @@ async def get(*, pk: int) -> DataScope:
2830
raise errors.NotFoundError(msg='数据范围不存在')
2931
return data_scope
3032

33+
@staticmethod
34+
async def get_all() -> Sequence[DataScope]:
35+
"""获取所有数据范围"""
36+
async with async_db_session() as db:
37+
data_scopes = await data_scope_dao.get_all(db)
38+
return data_scopes
39+
3140
@staticmethod
3241
async def get_rules(*, pk: int) -> DataScope:
3342
"""

0 commit comments

Comments
 (0)