34 lines
1.1 KiB
Go
34 lines
1.1 KiB
Go
// Package integration contains the built-in integration data and admin
|
|
// surface contribution.
|
|
package integration
|
|
|
|
import (
|
|
"strings"
|
|
|
|
dataintegration "kra/internal/data/integration"
|
|
"kra/internal/routecatalog"
|
|
"kra/pkg/module"
|
|
)
|
|
|
|
func Definition() module.Definition {
|
|
return module.Definition{
|
|
Name: "integration",
|
|
Migrations: dataintegration.Migrations(),
|
|
Surface: module.Surface{
|
|
Menus: []module.Menu{{Name: "integrationConfig", Path: "integrationConfig", ParentName: "extensions", Component: "view/systemTools/integration/config.vue", Title: "通信集成", Icon: "connection", Sort: 8}},
|
|
APIs: integrationAPIs(),
|
|
},
|
|
}
|
|
}
|
|
|
|
func integrationAPIs() []module.API {
|
|
items := make([]module.API, 0, 5)
|
|
for _, descriptor := range routecatalog.Descriptors() {
|
|
if descriptor.Public || !strings.HasPrefix(descriptor.Path, "/integration/configs") || descriptor.Description == "" {
|
|
continue
|
|
}
|
|
items = append(items, module.API{Path: descriptor.Path, Method: descriptor.Method, Group: descriptor.Group, Description: descriptor.Description})
|
|
}
|
|
return items
|
|
}
|