diff --git a/internal/service/component.go b/internal/service/component.go index 2f09bfe9..354cb34e 100644 --- a/internal/service/component.go +++ b/internal/service/component.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "github.com/dream11/odin/pkg/util" "io" "github.com/briandowns/spinner" @@ -45,8 +46,7 @@ func (e *Component) OperateComponent(ctx *context.Context, request *serviceProto return err } if response != nil { - message = response.ServiceResponse.Message - spinnerInstance.Prefix = fmt.Sprintf(" %s ", response.ServiceResponse.Message) + spinnerInstance.Prefix = fmt.Sprintf(" %s ", util.GenerateResponseMessage(response.GetServiceResponse())) spinnerInstance.Start() } } diff --git a/internal/service/service.go b/internal/service/service.go index 6770cb8b..4a83629b 100644 --- a/internal/service/service.go +++ b/internal/service/service.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "github.com/dream11/odin/pkg/util" "io" "github.com/briandowns/spinner" @@ -11,7 +12,6 @@ import ( serviceDto "github.com/dream11/odin/proto/gen/go/dream11/od/dto/v1" serviceProto "github.com/dream11/odin/proto/gen/go/dream11/od/service/v1" log "github.com/sirupsen/logrus" - ) // Service performs operation on service like deploy. undeploy @@ -48,12 +48,7 @@ func (e *Service) DeployService(ctx *context.Context, request *serviceProto.Depl } if response != nil { - message = response.ServiceResponse.Message - message += fmt.Sprintf("\n Service %s %s", response.ServiceResponse.ServiceStatus.ServiceAction, response.ServiceResponse.ServiceStatus) - for _, compMessage := range response.ServiceResponse.ComponentsStatus { - message += fmt.Sprintf("\n Component %s %s %s %s", compMessage.ComponentName, compMessage.ComponentAction, compMessage.ComponentStatus, compMessage.Error) - } - spinnerInstance.Prefix = fmt.Sprintf(" %s ", message) + spinnerInstance.Prefix = fmt.Sprintf(" %s ", util.GenerateResponseMessage(response.GetServiceResponse())) spinnerInstance.Start() } } @@ -94,11 +89,8 @@ func (e *Service) DeployServiceSet(ctx *context.Context, request *serviceProto.D if response != nil { message = "" - for index, serviceRespose := range response.GetServices() { - message += fmt.Sprintf("\n Service:%d %s %s %s", index+1, serviceRespose.ServiceIdentifier, serviceRespose.ServiceResponse.ServiceStatus, serviceRespose.ServiceResponse.Message) - for cindex, compMessage := range serviceRespose.ServiceResponse.ComponentsStatus { - message += fmt.Sprintf("\n Component:%d %s %s %s \n", cindex+1, compMessage.ComponentName, compMessage.ComponentAction, compMessage.ComponentStatus) - } + for _, serviceResponse := range response.GetServices() { + message += util.GenerateResponseMessage(serviceResponse.GetServiceResponse()) } spinnerInstance.Prefix = fmt.Sprintf(" %s ", message) spinnerInstance.Start() @@ -154,7 +146,7 @@ func (e *Service) DeployReleasedService(ctx *context.Context, request *servicePr return err } -// UndeployService undeploys service +// UndeployService undeploy service func (e *Service) UndeployService(ctx *context.Context, request *serviceProto.UndeployServiceRequest) error { conn, requestCtx, err := grpcClient(ctx) if err != nil { @@ -324,4 +316,4 @@ func (e *Service) DescribeService(ctx *context.Context, request *serviceProto.De } return response, nil -} \ No newline at end of file +} diff --git a/pkg/util/util.go b/pkg/util/util.go index 0076f1f0..660bf940 100644 --- a/pkg/util/util.go +++ b/pkg/util/util.go @@ -1,6 +1,8 @@ package util import ( + "fmt" + v1 "github.com/dream11/odin/proto/gen/go/dream11/od/service/v1" "net" "strings" ) @@ -18,3 +20,12 @@ func IsIPAddress(address string) bool { addr := net.ParseIP(address) return addr != nil } + +// GenerateResponseMessage generate response message from ServiceResponse +func GenerateResponseMessage(response *v1.ServiceResponse) string { + message := fmt.Sprintf("\n Service %s %s", response.ServiceStatus.ServiceAction, response.ServiceStatus) + for _, compMessage := range response.ComponentsStatus { + message += fmt.Sprintf("\n Component %s %s %s %s", compMessage.ComponentName, compMessage.ComponentAction, compMessage.ComponentStatus, compMessage.Error) + } + return message +}