feat: return human-friendly names for network members

This commit is contained in:
2026-05-28 10:19:20 +00:00
parent 2c8160d78e
commit cade827b63
3 changed files with 479 additions and 6 deletions
+1 -1
View File
@@ -301,7 +301,7 @@ def get_network_members(org_id, network_id):
memberships = portal_network_service.get_network_members(network_id)
return api_response(
data={"memberships": [m.to_dict() for m in memberships], "count": len(memberships)},
data={"memberships": memberships, "count": len(memberships)},
message="Network members retrieved successfully",
)
@@ -308,11 +308,33 @@ def get_network_members(network_id: str) -> list:
from gatehouse_app.models import NetworkAccessRequest
from gatehouse_app.utils.constants import ApprovalState
return NetworkAccessRequest.query.filter(
NetworkAccessRequest.portal_network_id == network_id,
NetworkAccessRequest.status == ApprovalState.APPROVED,
NetworkAccessRequest.deleted_at.is_(None),
).order_by(NetworkAccessRequest.created_at.desc()).all()
members = (
NetworkAccessRequest.query
.options(
db.joinedload(NetworkAccessRequest.user),
db.joinedload(NetworkAccessRequest.device),
)
.filter(
NetworkAccessRequest.portal_network_id == network_id,
NetworkAccessRequest.status == ApprovalState.APPROVED,
NetworkAccessRequest.deleted_at.is_(None),
)
.order_by(NetworkAccessRequest.created_at.desc())
.all()
)
result = []
for m in members:
d = m.to_dict()
user = m.user
device = m.device
d["user_email"] = user.email if user else None
d["user_name"] = user.full_name if user else None
d["device_name"] = device.display_name if device else None
d["device_node_id"] = device.node_id if device else None
result.append(d)
return result
def get_network_pending_requests(network_id: str) -> list: