Skip to content

Commit

Permalink
feat: change info according API docs in dashboard service (#1)
Browse files Browse the repository at this point in the history
Signed-off-by: Seolmin Kwon <seolmin@mz.co.kr>
  • Loading branch information
stat-kwon committed Nov 6, 2022
1 parent f6d4189 commit 5032323
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 116 deletions.
2 changes: 1 addition & 1 deletion src/spaceone/dashboard/info/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from spaceone.dashboard.info.common_info import *
from spaceone.dashboard.info.domain_dashboard_info import *
from spaceone.dashboard.info.project_dashboard_info import *
from spaceone.dashboard.info.widget_info import *
from spaceone.dashboard.info.custom_widget_info import *
34 changes: 34 additions & 0 deletions src/spaceone/dashboard/info/custom_widget_info.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import functools
from spaceone.api.dashboard.v1 import custom_widget_pb2
from spaceone.core.pygrpc.message_type import *
from spaceone.core import utils
from spaceone.dashboard.model.custom_widget_model import CustomWidget

__all__ = ['CustomWidgetInfo', 'CustomWidgetsInfo']


def CustomWidgetInfo(custom_widget_vo: CustomWidget, minimal=False):
info = {
'custom_widget_id': custom_widget_vo.widget_id,
'widget_id': custom_widget_vo.widget_id,
'name': custom_widget_vo.name,
'version': custom_widget_vo.version,
'user_id': custom_widget_vo.user_id,
'domain_id': custom_widget_vo.domain_id
}

if not minimal:
info.update({
'widget_options': change_struct_type(custom_widget_vo.widget_options),
'inherit_options': change_struct_type(custom_widget_vo.inherit_options),
'tags': change_struct_type(custom_widget_vo.tags),
'created_at': utils.datetime_to_iso8601(custom_widget_vo.created_at),
'updated_at': utils.datetime_to_iso8601(custom_widget_vo.updated_at)
})

return custom_widget_pb2.CustomWidgetInfo(**info)


def CustomWidgetsInfo(custom_widget_vos, total_count, **kwargs):
return custom_widget_pb2.CustomWidgetsInfo(results=list(
map(functools.partial(CustomWidgetInfo, **kwargs), custom_widget_vos)), total_count=total_count)
24 changes: 6 additions & 18 deletions src/spaceone/dashboard/info/domain_dashboard_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,12 @@ def DomainDashboardInfo(domain_dashboard_vo: DomainDashboard, minimal=False):

if not minimal:
info.update({
'options': _DomainDashboardOptionsInfo(domain_dashboard_vo.options),
'default_variables': change_struct_type(domain_dashboard_vo.default_variables),
'tags': change_struct_type(domain_dashboard_vo.tags),
'layouts': change_list_value_type(
domain_dashboard_vo.layouts) if domain_dashboard_vo.layouts else None,
'dashboard_options': change_struct_type(domain_dashboard_vo.dashboard_options),
'settings': _DomainDashboardSettingsInfo(domain_dashboard_vo.settings),
'dashboard_options_schema': change_struct_type(domain_dashboard_vo.dashboard_options_schema),
'tags': change_struct_type(domain_dashboard_vo.tags),
'created_at': utils.datetime_to_iso8601(domain_dashboard_vo.created_at),
'updated_at': utils.datetime_to_iso8601(domain_dashboard_vo.updated_at)
})
Expand All @@ -36,23 +37,10 @@ def DomainDashboardsInfo(domain_dashboard_vos, total_count, **kwargs):
map(functools.partial(DomainDashboardInfo, **kwargs), domain_dashboard_vos)), total_count=total_count)


def _PeriodInfo(period):
if period:
info = {
'start': period.start,
'end': period.end
}
return domain_dashboard_pb2.DomainDashboardPeriod(**info)
else:
return None


def _DateRangeInfo(date_range):
if date_range:
info = {
'enabled': date_range.enabled,
'period_type': date_range.period_type,
'period': _PeriodInfo(date_range.period)
}
return domain_dashboard_pb2.DomainDashboardDateRange(**info)
else:
Expand All @@ -69,13 +57,13 @@ def _CurrencyInfo(currency):
return None


def _DomainDashboardOptionsInfo(options):
def _DomainDashboardSettingsInfo(options):
if options:
info = {
'date_range': _DateRangeInfo(options.date_range),
'currency': _CurrencyInfo(options.currency)
}

return domain_dashboard_pb2.DomainDashboardOptions(**info)
return domain_dashboard_pb2.DomainDashboardSettings(**info)
else:
return None
25 changes: 7 additions & 18 deletions src/spaceone/dashboard/info/project_dashboard_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,19 @@ def ProjectDashboardInfo(project_dashboard_vo: ProjectDashboard, minimal=False):
'name': project_dashboard_vo.name,
'scope': project_dashboard_vo.scope,
'labels': change_list_value_type(project_dashboard_vo.labels),
'project_id': project_dashboard_vo.project_id,
'user_id': project_dashboard_vo.user_id,
'domain_id': project_dashboard_vo.domain_id
}

if not minimal:
info.update({
'options': _ProjectDashboardOptionsInfo(project_dashboard_vo.options),
'default_variables': change_struct_type(project_dashboard_vo.default_variables),
'tags': change_struct_type(project_dashboard_vo.tags),
'layouts': change_list_value_type(
project_dashboard_vo.layouts) if project_dashboard_vo.layouts else None,
'dashboard_options': change_struct_type(project_dashboard_vo.dashboard_options),
'settings': _ProjectDashboardSettingsInfo(project_dashboard_vo.settings),
'dashboard_options_schema': change_struct_type(project_dashboard_vo.dashboard_options_schema),
'tags': change_struct_type(project_dashboard_vo.tags),
'created_at': utils.datetime_to_iso8601(project_dashboard_vo.created_at),
'updated_at': utils.datetime_to_iso8601(project_dashboard_vo.updated_at)
})
Expand All @@ -36,23 +38,10 @@ def ProjectDashboardsInfo(project_dashboard_vos, total_count, **kwargs):
map(functools.partial(ProjectDashboardInfo, **kwargs), project_dashboard_vos)), total_count=total_count)


def _PeriodInfo(period):
if period:
info = {
'start': period.start,
'end': period.end
}
return project_dashboard_pb2.ProjectDashboardPeriod(**info)
else:
return None


def _DateRangeInfo(date_range):
if date_range:
info = {
'enabled': date_range.enabled,
'period_type': date_range.period_type,
'period': _PeriodInfo(date_range.period)
}
return project_dashboard_pb2.ProjectDashboardDateRange(**info)
else:
Expand All @@ -69,13 +58,13 @@ def _CurrencyInfo(currency):
return None


def _ProjectDashboardOptionsInfo(options):
def _ProjectDashboardSettingsInfo(options):
if options:
info = {
'date_range': _DateRangeInfo(options.date_range),
'currency': _CurrencyInfo(options.currency)
}

return project_dashboard_pb2.ProjectDashboardOptions(**info)
return project_dashboard_pb2.ProjectDashboardSettings(**info)
else:
return None
79 changes: 0 additions & 79 deletions src/spaceone/dashboard/info/widget_info.py

This file was deleted.

0 comments on commit 5032323

Please sign in to comment.