From da7d4e89f625b5bbebd5d903b5d4b828498f5e18 Mon Sep 17 00:00:00 2001 From: Robert Hoppe Date: Fri, 9 Aug 2024 14:25:56 +0200 Subject: [PATCH] Introduce fix for soft-deletion (#221) Co-authored-by: Robert Hoppe --- pkg/services/postgres-flex/v1.0/instance/wait.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/services/postgres-flex/v1.0/instance/wait.go b/pkg/services/postgres-flex/v1.0/instance/wait.go index 80b78646..26b692d9 100644 --- a/pkg/services/postgres-flex/v1.0/instance/wait.go +++ b/pkg/services/postgres-flex/v1.0/instance/wait.go @@ -4,6 +4,7 @@ import ( "context" "errors" "net/http" + "strings" "time" "github.com/SchwarzIT/community-stackit-go-client/pkg/validate" @@ -50,9 +51,16 @@ func (DeleteResponse) WaitHandler(ctx context.Context, c *ClientWithResponses, p return wait.New(func() (interface{}, bool, error) { res, err := c.Get(ctx, projectID, instanceID) if err = validate.Response(res, err); err != nil { + // old handling of not found if res != nil && res.StatusCode() == http.StatusNotFound { return nil, true, nil } + + // new soft-deletion + if res.JSON200 != nil && res.JSON200.Item.Status != nil && strings.ToUpper(*res.JSON200.Item.Status) != "DELETED" { + return nil, true, nil + } + return nil, false, err } return nil, false, nil