90 lines
1.8 KiB
Go
90 lines
1.8 KiB
Go
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
|
//go:build plus
|
|
|
|
package plus
|
|
|
|
type ComponentCode = string
|
|
|
|
const (
|
|
ComponentCodeUser ComponentCode = "user"
|
|
ComponentCodeScheduling ComponentCode = "scheduling"
|
|
ComponentCodeMonitor ComponentCode = "monitor"
|
|
ComponentCodeLog ComponentCode = "log"
|
|
ComponentCodeReporter ComponentCode = "reporter"
|
|
ComponentCodePlan ComponentCode = "plan"
|
|
ComponentCodeFinance ComponentCode = "finance"
|
|
ComponentCodeNS ComponentCode = "ns"
|
|
ComponentCodeL2Node ComponentCode = "l2node"
|
|
ComponentCodeComputing ComponentCode = "computing"
|
|
ComponentCodeTicket ComponentCode = "ticket"
|
|
ComponentCodeAntiDDoS ComponentCode = "antiDDoS"
|
|
)
|
|
|
|
type ComponentDefinition struct {
|
|
Name string `json:"name"`
|
|
Code ComponentCode `json:"code"`
|
|
Description string `json:"description"`
|
|
}
|
|
|
|
func FindAllComponents() []*ComponentDefinition {
|
|
return []*ComponentDefinition{
|
|
{
|
|
Name: "多租户",
|
|
Code: ComponentCodeUser,
|
|
},
|
|
{
|
|
Name: "智能调度",
|
|
Code: ComponentCodeScheduling,
|
|
},
|
|
{
|
|
Name: "监控",
|
|
Code: ComponentCodeMonitor,
|
|
},
|
|
{
|
|
Name: "日志",
|
|
Code: ComponentCodeLog,
|
|
},
|
|
{
|
|
Name: "区域监控",
|
|
Code: ComponentCodeReporter,
|
|
},
|
|
{
|
|
Name: "套餐",
|
|
Code: ComponentCodePlan,
|
|
},
|
|
{
|
|
Name: "财务",
|
|
Code: ComponentCodeFinance,
|
|
},
|
|
{
|
|
Name: "智能DNS",
|
|
Code: ComponentCodeNS,
|
|
},
|
|
{
|
|
Name: "L2节点",
|
|
Code: ComponentCodeL2Node,
|
|
},
|
|
{
|
|
Name: "边缘计算",
|
|
Code: ComponentCodeComputing,
|
|
},
|
|
{
|
|
Name: "工单系统",
|
|
Code: ComponentCodeTicket,
|
|
},
|
|
{
|
|
Name: "高防IP",
|
|
Code: ComponentCodeAntiDDoS,
|
|
},
|
|
}
|
|
}
|
|
|
|
func CheckComponent(code string) bool {
|
|
for _, c := range FindAllComponents() {
|
|
if c.Code == code {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|