Skip to content

Commit 830860d

Browse files
feat: add data model for platform admin response
1 parent e5d375d commit 830860d

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

routers/user.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,14 @@ class CombinedMembershipData(PydanticBaseModel):
5555
groups: list[GroupMembershipData]
5656

5757

58+
class PlatformAdminData(PydanticBaseModel):
59+
"""
60+
Data model for platform admin response.
61+
"""
62+
id: str
63+
name: str
64+
65+
5866
class GroupAdminData(PydanticBaseModel):
5967
"""
6068
Data model for group admin response.
@@ -165,6 +173,7 @@ async def get_pending_platforms(
165173

166174
@router.get(
167175
"/platforms/admin-roles",
176+
response_model=list[PlatformAdminData],
168177
description="Get platforms for which the current user has admin privileges.",
169178
)
170179
async def get_admin_platforms(

tests/test_user.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,12 @@ def test_get_admin_platforms(test_client, test_db_session, mocker, persistent_fa
427427
response = test_client.get("/me/platforms/admin-roles", headers={"Authorization": "Bearer valid_token"})
428428
assert response.status_code == 200
429429
data = response.json()
430-
assert data[0] == valid_platform.model_dump(mode="json")
430+
assert len(data) == 1
431+
assert data[0]["id"] == valid_platform.id
432+
assert data[0]["name"] == valid_platform.name
433+
# Should not include relationships or other fields
434+
assert "admin_roles" not in data[0]
435+
assert "platform_role" not in data[0]
431436
returned_ids = [p["id"] for p in data]
432437
assert invalid_platform.id not in returned_ids
433438

0 commit comments

Comments
 (0)