fix: update database response handling and refactor role mapping
Some checks failed
CI Workflow / Check GoReleaser config (pull_request) Successful in 4s
CI Workflow / CI (pull_request) Failing after 15m11s
CI Workflow / Code coverage report (pull_request) Has been skipped
CI Workflow / Test readiness for publishing provider (pull_request) Successful in 19m5s

This commit is contained in:
Andre_Harms 2026-02-11 16:27:47 +01:00
parent 8b2d76482b
commit 9f07e3021e
3 changed files with 49 additions and 35 deletions

View file

@ -419,7 +419,7 @@ func (r *databaseResource) Update(
}
// Update existing database
res, err := r.client.UpdateDatabasePartiallyRequest(
err := r.client.UpdateDatabasePartiallyRequest(
ctx,
projectId,
region,
@ -434,12 +434,26 @@ func (r *databaseResource) Update(
ctx = core.LogResponse(ctx)
// Map response body to schema
err = mapResourceFields(res.Database, &model)
databaseResp, err := getDatabaseById(ctx, r.client, projectId, region, instanceId, databaseId64)
if err != nil {
oapiErr, ok := err.(*oapierror.GenericOpenAPIError) //nolint:errorlint //complaining that error.As should be used to catch wrapped errors, but this error should not be wrapped
if (ok && oapiErr.StatusCode == http.StatusNotFound) || errors.Is(err, errDatabaseNotFound) {
resp.State.RemoveResource(ctx)
return
}
core.LogAndAddError(ctx, &resp.Diagnostics, "Error reading database", fmt.Sprintf("Calling API: %v", err))
return
}
ctx = core.LogResponse(ctx)
// Map response body to schema
err = mapResourceFields(databaseResp, &model)
if err != nil {
core.LogAndAddError(
ctx,
&resp.Diagnostics,
"Error updating database",
"Error reading database",
fmt.Sprintf("Processing API payload: %v", err),
)
return