# coding=utf-8 """ @Author: fu-zhe @FileName: dashboard_views.py @DateTime: 2024/5/20 17:34 @Description: """ import json import traceback from rest_framework import viewsets from rest_framework.decorators import list_route, detail_route from UebaMetricsAnalysis.utils.ext_logging import logger from UebaMetricsAnalysis.lib.result import Result class DashboardViewSets(viewsets.GenericViewSet): @list_route(methods=['GET']) def training_cyber_range(self, request): type = request.GET.get('type') try: return self.get_summary_data(self,type) except Exception, e: logger.error("实训大屏数据获取失败, err: {}, traceback: {}".format(str(e), traceback.format_exc())) return Result.failed("查询失败", str(e)) @list_route(methods=['GET']) def get_summary_data_list(self,request): data_type = request.GET.get('type') try: if data_type == "ip": return self.get_ip_summary_data() if data_type == "account": return self.get_account_summary_data() if data_type == "interface": return self.get_interface_summary_data() if data_type == "menu": return self.get_menu_summary_data() return Result.ok({"status":200}) except Exception, e: logger.error("实训大屏数据获取失败, err: {}, traceback: {}".format(str(e), traceback.format_exc())) return Result.failed("查询失败", str(e)) def get_ip_summary_data(self): return Result.ok({"status":200}) def get_account_summary_data(self): return Result.ok({"status":200}) def get_interface_summary_data(self): return Result.ok({"status":200}) def get_menu_summary_data(self): return Result.ok({"status":200})