From e2185b37a783909182e5c7dae16b694c87b7d329 Mon Sep 17 00:00:00 2001 From: surajgour-d11 Date: Thu, 10 Oct 2024 19:52:16 +0530 Subject: [PATCH] fix: operate service response Signed-off-by: surajgour-d11 --- internal/service/component.go | 5 +++-- internal/service/service.go | 19 ++++++------------- pkg/util/util.go | 11 +++++++++++ 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/internal/service/component.go b/internal/service/component.go index 2f09bfe9..4bd0cf4f 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,8 @@ 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) + message = util.GenerateResponseMessage(response.GetServiceResponse()) + spinnerInstance.Prefix = fmt.Sprintf(" %s ", message) spinnerInstance.Start() } } diff --git a/internal/service/service.go b/internal/service/service.go index 6770cb8b..cee5faa5 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,11 +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) - } + message = util.GenerateResponseMessage(response.GetServiceResponse()) spinnerInstance.Prefix = fmt.Sprintf(" %s ", message) spinnerInstance.Start() } @@ -94,11 +90,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 +147,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 +317,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 +}