Files
EdgeAdmin/internal/web/actions/default/servers/metrics/charts/chartutils/utils.go
2021-07-03 18:05:55 +08:00

39 lines
1.1 KiB
Go

// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package chartutils
import (
"errors"
"github.com/TeaOSLab/EdgeAdmin/internal/rpc"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/iwind/TeaGo/maps"
)
// InitChart 初始化指标图表信息
func InitChart(parent *actionutils.ParentAction, chartId int64) (*pb.MetricChart, error) {
client, err := rpc.SharedRPC()
if err != nil {
return nil, err
}
resp, err := client.MetricChartRPC().FindEnabledMetricChart(parent.AdminContext(), &pb.FindEnabledMetricChartRequest{MetricChartId: chartId})
if err != nil {
return nil, err
}
var chart = resp.MetricChart
if chart == nil {
return nil, errors.New("metric chart not found")
}
parent.Data["chart"] = maps.Map{
"id": chart.Id,
"name": chart.Name,
"isOn": chart.IsOn,
"widthDiv": chart.WidthDiv,
"maxItems": chart.MaxItems,
"type": chart.Type,
"typeName": serverconfigs.FindMetricChartTypeName(chart.Type),
}
return chart, nil
}