60 lines
1.1 KiB
Go
60 lines
1.1 KiB
Go
package config_handler
|
|
|
|
import "git.icechen.cn/pkg/drone_plugin/go_handler"
|
|
|
|
type Handler interface {
|
|
ToDestinationConfig() (string, error)
|
|
}
|
|
|
|
func (al ApiList) toDestinationConfig() (string, error) {
|
|
retConfig := ""
|
|
for _, api := range al {
|
|
config, err := api.toDestinationConfig()
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
retConfig += config + "\n\n---\n\n"
|
|
}
|
|
return retConfig, nil
|
|
}
|
|
|
|
func (a Api) toDestinationConfig() (string, error) {
|
|
var handler Handler
|
|
switch a.Type {
|
|
case go_handler.TypeGolang:
|
|
handler = go_handler.GoApiHandler{
|
|
Name: a.Name,
|
|
Root: a.Root,
|
|
Port: a.Port,
|
|
}
|
|
}
|
|
|
|
return handler.ToDestinationConfig()
|
|
}
|
|
|
|
func (sl ServiceList) toDestinationConfig() (string, error) {
|
|
retConfig := ""
|
|
for _, service := range sl {
|
|
config, err := service.toDestinationConfig()
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
retConfig += config + "\n\n---\n\n"
|
|
}
|
|
return retConfig, nil
|
|
}
|
|
|
|
func (s Service) toDestinationConfig() (string, error) {
|
|
var handler Handler
|
|
switch s.Type {
|
|
case go_handler.TypeGolang:
|
|
handler = go_handler.GoApiHandler{
|
|
Name: s.Name,
|
|
Root: s.Root,
|
|
Port: s.Port,
|
|
}
|
|
}
|
|
|
|
return handler.ToDestinationConfig()
|
|
}
|