Skip to content

Change from dict type to object type #373

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/spaceone/identity/service/user_profile_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -463,7 +463,7 @@ def get_workspace_groups(

workspace_group_user_ids = []
for workspace_group_info in workspace_group_infos:
if users := workspace_group_info.get("users"):
if users := workspace_group_info.users:
for user in users:
if isinstance(user, dict):
workspace_group_user_ids.append(user.get("user_id"))
Expand Down
23 changes: 12 additions & 11 deletions src/spaceone/identity/service/workspace_group_service.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import logging
from datetime import datetime
from typing import Any, Dict, List, Union
from typing import Dict, List, Union

from spaceone.core.error import ERROR_INVALID_PARAMETER, ERROR_NOT_FOUND
from spaceone.core.service import (
Expand All @@ -26,6 +26,7 @@
from spaceone.identity.manager.user_manager import UserManager
from spaceone.identity.manager.workspace_group_manager import WorkspaceGroupManager
from spaceone.identity.manager.workspace_manager import WorkspaceManager
from spaceone.identity.model import WorkspaceGroup
from spaceone.identity.model.workspace_group.request import (
WorkspaceGroupAddUsersRequest,
WorkspaceGroupCreateRequest,
Expand Down Expand Up @@ -208,7 +209,7 @@ def add_users(
)

workspace_group_info = self.add_user_name_and_state_to_users(
workspace_group_user_ids, workspace_group_vo.to_dict(), domain_id
workspace_group_user_ids, workspace_group_vo, domain_id
)

return WorkspaceGroupResponse(**workspace_group_info)
Expand Down Expand Up @@ -351,7 +352,7 @@ def get(
workspace_group_user_ids: List[str] = old_users + new_users

workspace_group_dict = self.add_user_name_and_state_to_users(
workspace_group_user_ids, workspace_group_vo.to_dict(), domain_id
workspace_group_user_ids, workspace_group_vo, domain_id
)
return WorkspaceGroupResponse(**workspace_group_dict)

Expand Down Expand Up @@ -399,7 +400,7 @@ def list(
workspace_group_user_ids: List[str] = old_users + new_users

workspace_group_dict = self.add_user_name_and_state_to_users(
workspace_group_user_ids, workspace_group_vo.to_dict(), params.domain_id
workspace_group_user_ids, workspace_group_vo, params.domain_id
)
workspace_groups_info.append(workspace_group_dict)

Expand Down Expand Up @@ -534,15 +535,15 @@ def add_users_to_workspace_group(
def add_user_name_and_state_to_users(
self,
workspace_group_user_ids: List[str],
workspace_group_info: Dict[str, Any],
workspace_group_info: WorkspaceGroup,
domain_id: str,
) -> Dict[str, str]:
"""Add user's name and state to users in workspace group.
Since the user's name and state are not in user of workspace group in database,
we need to add user's name and state to users in the Application layer.
Args:
workspace_group_user_ids: 'List[str]'
workspace_group_info: 'Dict[str, str]'
workspace_group_info: 'WorkspaceGroup'
domain_id: 'str'
Returns:
workspace_group_dict:
Expand All @@ -558,18 +559,18 @@ def add_user_name_and_state_to_users(
"state": user_vo.state,
}

wg_users = workspace_group_info.get("users", []) or []
wg_users = workspace_group_info.users or []
users = []

for user in wg_users:
user_id = user.get("user_id", "")
user["user_name"] = user_info_map.get(user_id, {}).get("name", "")
user["state"] = user_info_map.get(user_id, {}).get("state", "")
user_id = user.user_id or ""
user.user_name = user_info_map.get(user_id, {}).get("name", "")
user.state = user_info_map.get(user_id, {}).get("state", "")
users.append(user)

workspace_group_info["users"] = users

return workspace_group_info
return workspace_group_info.to_dict()

def remove_users_from_workspace_group(
self,
Expand Down
6 changes: 3 additions & 3 deletions src/spaceone/identity/service/workspace_group_user_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ def add(

workspace_group_user_dict = (
self.workspace_group_svc.add_user_name_and_state_to_users(
workspace_group_user_ids, workspace_group_vo.to_dict(), domain_id
workspace_group_user_ids, workspace_group_vo, domain_id
)
)

Expand Down Expand Up @@ -349,7 +349,7 @@ def get(

workspace_group_dict = (
self.workspace_group_svc.add_user_name_and_state_to_users(
workspace_group_user_ids, workspace_group_vo.to_dict(), domain_id
workspace_group_user_ids, workspace_group_vo, domain_id
)
)
return WorkspaceGroupResponse(**workspace_group_dict)
Expand Down Expand Up @@ -400,7 +400,7 @@ def list(
workspace_group_dict = (
self.workspace_group_svc.add_user_name_and_state_to_users(
workspace_group_user_ids,
workspace_group_vo.to_dict(),
workspace_group_vo,
params.domain_id,
)
)
Expand Down
Loading