async def get_project_user_result(self, project): result = [] user_service = UserService() owner = await user_service.user_by_id(project.owner) owner_result = { 'id': str(uuid.uuid4()), 'role_key': ProjectRoleEnums.OWNER.name, 'role_name': ProjectRoleEnums.OWNER.value, 'user': project.owner, 'user_detail': user_service.get_user_result(owner) } result.append(owner_result) if project.users: for user in project.users: user_obj = await user_service.user_by_id(user['user']) user['user_detail'] = user_service.get_user_result(user_obj) result.append(user) return result
async def get_project_result(self, project): result = { 'id': str(project.id), 'name': project.name, 'key': project.key, 'owner': None, 'links': [] } user_service = UserService() owner = await user_service.user_by_id(project.owner) if owner: result['owner'] = user_service.get_user_result(owner) if project.links: for link in project.links: result['links'].append({'name': link['name'], 'url': link['url'], 'id': str(link['id'])}) return result