package postgresflexalpha import ( "fmt" "github.com/hashicorp/terraform-plugin-framework/types" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/postgresflexalpha" ) // mapFields maps fields from a ListDatabase API response to a ResourceModel for the data source. func mapFields( source *postgresflexalpha.ListDatabase, model *DataSourceModel, region string, ) error { if source == nil { return fmt.Errorf("response is nil") } if source.Id == nil || *source.Id == 0 { return fmt.Errorf("id not present") } if model == nil { return fmt.Errorf("model given is nil") } var databaseId int64 if model.Id.ValueInt64() != 0 { databaseId = model.Id.ValueInt64() } else if source.Id != nil { databaseId = *source.Id } else { return fmt.Errorf("database id not present") } model.Id = types.Int64Value(databaseId) model.DatabaseID = types.Int64Value(databaseId) model.Name = types.StringPointerValue(source.Name) model.Owner = types.StringPointerValue(cleanString(source.Owner)) model.Region = types.StringValue(region) return nil } // mapResourceFields maps fields from a ListDatabase API response to a ResourceModel for the resource. func mapResourceFields(source *postgresflexalpha.ListDatabase, model *ResourceModel) error { if source == nil { return fmt.Errorf("response is nil") } if source.Id == nil || *source.Id == 0 { return fmt.Errorf("id not present") } if model == nil { return fmt.Errorf("model input is nil") } var databaseId int64 if model.Id.ValueInt64() != 0 { databaseId = model.Id.ValueInt64() } else if source.Id != nil { databaseId = *source.Id } else { return fmt.Errorf("database id not present") } model.Id = types.Int64Value(databaseId) model.DatabaseID = types.Int64Value(databaseId) model.Name = types.StringPointerValue(source.Name) model.Owner = types.StringPointerValue(cleanString(source.Owner)) return nil } // toCreatePayload converts the resource model to an API create payload. func toCreatePayload(model *ResourceModel) (*postgresflexalpha.CreateDatabaseRequestPayload, error) { if model == nil { return nil, fmt.Errorf("nil model") } return &postgresflexalpha.CreateDatabaseRequestPayload{ Name: model.Name.ValueStringPointer(), Owner: model.Owner.ValueStringPointer(), }, nil }