Skip to content

Commit b9e91d7

Browse files
authored
Merge pull request #184 from stat-kwon/master
Refactor public folder and dashboard services for improved readability and performance
2 parents eae45fa + b00958f commit b9e91d7

File tree

2 files changed

+67
-73
lines changed

2 files changed

+67
-73
lines changed

Diff for: src/spaceone/dashboard/service/public_dashboard_service.py

+36-40
Original file line numberDiff line numberDiff line change
@@ -356,27 +356,25 @@ def share_dashboard(self, params_dict: dict) -> dict:
356356
updated_params, pub_dashboard_vo
357357
)
358358

359-
# if pub_dashboard_vo.resource_group in ["DOMAIN", "WORKSPACE"]:
360-
if pub_dashboard_vo.resource_group == "DOMAIN":
361-
# Cascade update for widgets
362-
pub_widget_mgr = PublicWidgetManager()
363-
pub_widget_vos = pub_widget_mgr.filter_public_widgets(
364-
dashboard_id=pub_dashboard_vo.dashboard_id,
365-
domain_id=pub_dashboard_vo.domain_id,
366-
)
367-
for pub_widget_vo in pub_widget_vos:
368-
pub_widget_mgr.update_public_widget_by_vo(updated_params, pub_widget_vo)
369-
370-
# Cascade update for data tables
371-
pub_data_table_mgr = PublicDataTableManager()
372-
pub_data_table_vos = pub_data_table_mgr.filter_public_data_tables(
373-
dashboard_id=pub_dashboard_vo.dashboard_id,
374-
domain_id=pub_dashboard_vo.domain_id,
359+
# Cascade update for widgets
360+
pub_widget_mgr = PublicWidgetManager()
361+
pub_widget_vos = pub_widget_mgr.filter_public_widgets(
362+
dashboard_id=pub_dashboard_vo.dashboard_id,
363+
domain_id=pub_dashboard_vo.domain_id,
364+
)
365+
for pub_widget_vo in pub_widget_vos:
366+
pub_widget_mgr.update_public_widget_by_vo(updated_params, pub_widget_vo)
367+
368+
# Cascade update for data tables
369+
pub_data_table_mgr = PublicDataTableManager()
370+
pub_data_table_vos = pub_data_table_mgr.filter_public_data_tables(
371+
dashboard_id=pub_dashboard_vo.dashboard_id,
372+
domain_id=pub_dashboard_vo.domain_id,
373+
)
374+
for pub_data_table_vo in pub_data_table_vos:
375+
pub_data_table_mgr.update_public_data_table_by_vo(
376+
updated_params, pub_data_table_vo
375377
)
376-
for pub_data_table_vo in pub_data_table_vos:
377-
pub_data_table_mgr.update_public_data_table_by_vo(
378-
updated_params, pub_data_table_vo
379-
)
380378

381379
return pub_dashboard_vo.to_dict()
382380

@@ -441,27 +439,25 @@ def unshare_dashboard(self, params_dict: dict) -> dict:
441439
updated_params, pub_dashboard_vo
442440
)
443441

444-
# if pub_dashboard_vo.resource_group in ["DOMAIN", "WORKSPACE"]:
445-
if pub_dashboard_vo.resource_group == "DOMAIN":
446-
# Cascade update for widgets
447-
pub_widget_mgr = PublicWidgetManager()
448-
pub_widget_vos = pub_widget_mgr.filter_public_widgets(
449-
dashboard_id=pub_dashboard_vo.dashboard_id,
450-
domain_id=pub_dashboard_vo.domain_id,
451-
)
452-
for pub_widget_vo in pub_widget_vos:
453-
pub_widget_mgr.update_public_widget_by_vo(updated_params, pub_widget_vo)
454-
455-
# Cascade update for data tables
456-
pub_data_table_mgr = PublicDataTableManager()
457-
pub_data_table_vos = pub_data_table_mgr.filter_public_data_tables(
458-
dashboard_id=pub_dashboard_vo.dashboard_id,
459-
domain_id=pub_dashboard_vo.domain_id,
442+
# Cascade update for widgets
443+
pub_widget_mgr = PublicWidgetManager()
444+
pub_widget_vos = pub_widget_mgr.filter_public_widgets(
445+
dashboard_id=pub_dashboard_vo.dashboard_id,
446+
domain_id=pub_dashboard_vo.domain_id,
447+
)
448+
for pub_widget_vo in pub_widget_vos:
449+
pub_widget_mgr.update_public_widget_by_vo(updated_params, pub_widget_vo)
450+
451+
# Cascade update for data tables
452+
pub_data_table_mgr = PublicDataTableManager()
453+
pub_data_table_vos = pub_data_table_mgr.filter_public_data_tables(
454+
dashboard_id=pub_dashboard_vo.dashboard_id,
455+
domain_id=pub_dashboard_vo.domain_id,
456+
)
457+
for pub_data_table_vo in pub_data_table_vos:
458+
pub_data_table_mgr.update_public_data_table_by_vo(
459+
updated_params, pub_data_table_vo
460460
)
461-
for pub_data_table_vo in pub_data_table_vos:
462-
pub_data_table_mgr.update_public_data_table_by_vo(
463-
updated_params, pub_data_table_vo
464-
)
465461

466462
return pub_dashboard_vo.to_dict()
467463

Diff for: src/spaceone/dashboard/service/public_folder_service.py

+31-33
Original file line numberDiff line numberDiff line change
@@ -164,24 +164,23 @@ def share(
164164
updated_params, pub_folder_vo
165165
)
166166

167-
if pub_folder_vo.resource_group == "DOMAIN":
168-
pub_dashboard_svc = PublicDashboardService()
169-
pub_dashboard_mgr = PublicDashboardManager()
170-
pub_dashboard_vos = pub_dashboard_mgr.filter_public_dashboards(
171-
folder_id=pub_folder_vo.folder_id, domain_id=pub_folder_vo.domain_id
172-
)
167+
pub_dashboard_svc = PublicDashboardService()
168+
pub_dashboard_mgr = PublicDashboardManager()
169+
pub_dashboard_vos = pub_dashboard_mgr.filter_public_dashboards(
170+
folder_id=pub_folder_vo.folder_id, domain_id=pub_folder_vo.domain_id
171+
)
173172

174-
for pub_dashboard_vo in pub_dashboard_vos:
175-
pub_dashboard_svc.share_dashboard(
176-
{
177-
"dashboard_id": pub_dashboard_vo.dashboard_id,
178-
"scope": params.scope,
179-
"domain_id": params.domain_id,
180-
"workspace_id": params.workspace_id,
181-
"user_projects": params.user_projects,
182-
"cascade": True,
183-
}
184-
)
173+
for pub_dashboard_vo in pub_dashboard_vos:
174+
pub_dashboard_svc.share_dashboard(
175+
{
176+
"dashboard_id": pub_dashboard_vo.dashboard_id,
177+
"scope": params.scope,
178+
"domain_id": params.domain_id,
179+
"workspace_id": params.workspace_id,
180+
"user_projects": params.user_projects,
181+
"cascade": True,
182+
}
183+
)
185184

186185
return PublicFolderResponse(**pub_folder_vo.to_dict())
187186

@@ -232,23 +231,22 @@ def unshare(
232231
updated_params, pub_folder_vo
233232
)
234233

235-
if pub_folder_vo.resource_group == "DOMAIN":
236-
pub_dashboard_svc = PublicDashboardService()
237-
pub_dashboard_mgr = PublicDashboardManager()
238-
pub_dashboard_vos = pub_dashboard_mgr.filter_public_dashboards(
239-
folder_id=pub_folder_vo.folder_id, domain_id=pub_folder_vo.domain_id
240-
)
234+
pub_dashboard_svc = PublicDashboardService()
235+
pub_dashboard_mgr = PublicDashboardManager()
236+
pub_dashboard_vos = pub_dashboard_mgr.filter_public_dashboards(
237+
folder_id=pub_folder_vo.folder_id, domain_id=pub_folder_vo.domain_id
238+
)
241239

242-
for pub_dashboard_vo in pub_dashboard_vos:
243-
pub_dashboard_svc.unshare_dashboard(
244-
{
245-
"dashboard_id": pub_dashboard_vo.dashboard_id,
246-
"domain_id": params.domain_id,
247-
"workspace_id": params.workspace_id,
248-
"user_projects": params.user_projects,
249-
"cascade": True,
250-
}
251-
)
240+
for pub_dashboard_vo in pub_dashboard_vos:
241+
pub_dashboard_svc.unshare_dashboard(
242+
{
243+
"dashboard_id": pub_dashboard_vo.dashboard_id,
244+
"domain_id": params.domain_id,
245+
"workspace_id": params.workspace_id,
246+
"user_projects": params.user_projects,
247+
"cascade": True,
248+
}
249+
)
252250

253251
return PublicFolderResponse(**pub_folder_vo.to_dict())
254252

0 commit comments

Comments
 (0)