Skip to content

Commit

Permalink
onbaord delete env command
Browse files Browse the repository at this point in the history
  • Loading branch information
boppanasusanth committed Nov 8, 2023
1 parent 5de990a commit b6484e8
Show file tree
Hide file tree
Showing 7 changed files with 333 additions and 56 deletions.
16 changes: 16 additions & 0 deletions cmd/delete/delete.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package delete

import (
"github.com/dream11/odin/cmd"
"github.com/spf13/cobra"
)

var deleteCmd = &cobra.Command{
Use: "delete",
Short: "Delete resources",
Long: `Delete resources`,
}

func init() {
cmd.RootCmd.AddCommand(deleteCmd)
}
63 changes: 63 additions & 0 deletions cmd/delete/environment.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package delete

import (
"encoding/json"
"fmt"

"github.com/dream11/odin/internal/service"
"github.com/dream11/odin/pkg/constant"
environment "github.com/dream11/odin/proto/gen/go/dream11/od/environment/v1"
log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
)

var name string

var environmentClient = service.Environment{}

var environmentCmd = &cobra.Command{
Use: "environment",
Short: "Delete environment",
Long: `Delete environment`,
Args: func(cmd *cobra.Command, args []string) error {
return cobra.NoArgs(cmd, args)
},
Run: func(cmd *cobra.Command, args []string) {
execute(cmd)
},
}

func init() {
environmentCmd.Flags().StringVar(&name, "name", "", "name of the env")
deleteCmd.AddCommand(environmentCmd)
}

func execute(cmd *cobra.Command) {
ctx := cmd.Context()
response, err := environmentClient.DeleteEnvironment(&ctx, &environment.DeleteEnvironmentRequest{
EnvName: name,
})

if err != nil {
log.Fatal("Failed to delete environment ", err)
}

outputFormat, err := cmd.Flags().GetString("output")
if err != nil {
log.Fatal(err)
}
writeOutput(response, outputFormat)
}

func writeOutput(response *environment.DeleteEnvironmentResponse, format string) {

switch format {
case constant.TEXT:
fmt.Print(response.Message)
case constant.JSON:
output, _ := json.Marshal(response)
fmt.Print(string(output))
default:
log.Fatal("Unknown output format: ", format)
}
}
3 changes: 1 addition & 2 deletions cmd/list/environment.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ package list
import (
"encoding/json"
"fmt"
"github.com/dream11/odin/pkg/constant"
"strconv"

"github.com/dream11/odin/internal/service"
"github.com/dream11/odin/pkg/constant"
"github.com/dream11/odin/pkg/table"
environment "github.com/dream11/odin/proto/gen/go/dream11/od/environment/v1"
log "github.com/sirupsen/logrus"
Expand Down Expand Up @@ -100,4 +100,3 @@ func writeAsJSON(response *environment.ListEnvironmentResponse) {
output, _ := json.MarshalIndent(environments, "", " ")
fmt.Print(string(output))
}

16 changes: 16 additions & 0 deletions internal/service/environment.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,19 @@ func (e *Environment) ListEnvironments(ctx *context.Context, request *environmen

return response, nil
}

func (e *Environment) DeleteEnvironment(ctx *context.Context, request *environment.DeleteEnvironmentRequest) (*environment.DeleteEnvironmentResponse, error) {
conn, requestCtx, err := grpcClient(ctx)
if err != nil {
return nil, err
}

client := environment.NewEnvironmentServiceClient(conn)
response, err := client.DeleteEnvironment(*requestCtx, request)

if err != nil {
return nil, err
}

return response, nil
}
9 changes: 9 additions & 0 deletions proto/dream11/od/environment/v1/environment.proto
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ service EnvironmentService {
rpc DescribeEnvironment(DescribeEnvironmentRequest) returns (DescribeEnvironmentResponse) {}
rpc UpdateEnvironment(UpdateEnvironmentRequest) returns (UpdateEnvironmentResponse) {}
rpc CreateEnvironment(CreateEnvironmentRequest) returns (stream CreateEnvironmentResponse) {}
rpc DeleteEnvironment(DeleteEnvironmentRequest) returns (DeleteEnvironmentResponse) {}
}

message ListEnvironmentRequest {
Expand Down Expand Up @@ -46,3 +47,11 @@ message CreateEnvironmentRequest {
message CreateEnvironmentResponse {
string message = 1;
}

message DeleteEnvironmentRequest {
string env_name = 1;
}

message DeleteEnvironmentResponse {
string message = 1;
}
Loading

0 comments on commit b6484e8

Please sign in to comment.