34 lines
1.3 KiB
Go
34 lines
1.3 KiB
Go
// Package integration contains the built-in integration data and admin
|
|
// surface contribution.
|
|
package integration
|
|
|
|
import (
|
|
"gorm.io/gorm"
|
|
dataintegration "kra/internal/data/integration"
|
|
datasystem "kra/internal/data/system"
|
|
"kra/internal/modules/surface"
|
|
"kra/pkg/database/migration"
|
|
"kra/pkg/module"
|
|
)
|
|
|
|
func Definition() module.Definition {
|
|
smsMenu := module.Menu{Name: "sms", Path: "sms", ParentName: "extensions", Component: "view/systemTools/sms/index.vue", Title: "短信服务", Icon: "message", Sort: 9}
|
|
migrations := append(dataintegration.Migrations(), migration.Step{ID: "202609290001_sms_admin_surface", Migrate: func(db *gorm.DB) error {
|
|
return datasystem.EnsureAdminSurface(db, module.Surface{
|
|
Menus: []module.Menu{smsMenu},
|
|
APIs: []module.API{{Path: "/integration/sms/:provider/send", Method: "POST", Group: "短信服务", Description: "发送单条模板短信"}},
|
|
}, 888)
|
|
}})
|
|
return module.Definition{
|
|
Name: "integration",
|
|
Migrations: migrations,
|
|
Surface: module.Surface{
|
|
Menus: []module.Menu{
|
|
{Name: "integrationConfig", Path: "integrationConfig", ParentName: "extensions", Component: "view/systemTools/integration/config.vue", Title: "通信集成", Icon: "connection", Sort: 8},
|
|
smsMenu,
|
|
},
|
|
APIs: surface.APIsForPrefix("/integration/", 6),
|
|
},
|
|
}
|
|
}
|