Skip to content

Commit d48d1f4

Browse files
committed
Add schema to generated NewPerVersionTranslators
1 parent 6cdf340 commit d48d1f4

File tree

7 files changed

+8
-6
lines changed

7 files changed

+8
-6
lines changed

internal/crapi/crapi_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2000,7 +2000,7 @@ func testToAPI[T any](t *testing.T, kind string, input client.Object, objs []cli
20002000
crdsYML := bytes.NewBuffer(testdata.SampleCRDs)
20012001
crd, err := extractCRD(kind, bufio.NewScanner(crdsYML))
20022002
require.NoError(t, err)
2003-
trs, err := crapi.NewPerVersionTranslators(crd, version, sdkVersion)
2003+
trs, err := crapi.NewPerVersionTranslators(testScheme(t), crd, version, sdkVersion)
20042004
require.NoError(t, err)
20052005
tr := trs[sdkVersion]
20062006
require.NotNil(t, tr)

internal/crapi/translator.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ func NewTranslator(scheme *runtime.Scheme, crd *apiextensionsv1.CustomResourceDe
189189
//
190190
// In the above case crdVersion is "v1" and versions can be "v20250312"
191191
// and/or "v20250810".
192-
func NewPerVersionTranslators(crd *apiextensionsv1.CustomResourceDefinition, crdVersion string, versions ...string) (map[string]Translator, error) {
192+
func NewPerVersionTranslators(scheme *runtime.Scheme, crd *apiextensionsv1.CustomResourceDefinition, crdVersion string, versions ...string) (map[string]Translator, error) {
193193
translators := map[string]Translator{}
194194
specVersion := crds.SelectVersion(&crd.Spec, crdVersion)
195195
for _, version := range versions {
@@ -209,6 +209,7 @@ func NewPerVersionTranslators(crd *apiextensionsv1.CustomResourceDefinition, crd
209209
}
210210

211211
translators[version] = &translator{
212+
scheme: scheme,
212213
majorVersion: version,
213214
mappingSchema: &openapi3.SchemaRef{Value: &mappingSchema},
214215
}

internal/generated/controller/cluster/cluster_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func NewClusterReconciler(
7474
if err != nil {
7575
return nil, fmt.Errorf("failed to read CRD for Cluster: %w", err)
7676
}
77-
translators, err := crapi.NewPerVersionTranslators(crd, crdVersion, sdkVersions...)
77+
translators, err := crapi.NewPerVersionTranslators(c.GetScheme(), crd, crdVersion, sdkVersions...)
7878
if err != nil {
7979
return nil, fmt.Errorf("failed to get translator set for Cluster: %w", err)
8080
}

internal/generated/controller/databaseuser/databaseuser_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func NewDatabaseUserReconciler(
7474
if err != nil {
7575
return nil, fmt.Errorf("failed to read CRD for DatabaseUser: %w", err)
7676
}
77-
translators, err := crapi.NewPerVersionTranslators(crd, crdVersion, sdkVersions...)
77+
translators, err := crapi.NewPerVersionTranslators(c.GetScheme(), crd, crdVersion, sdkVersions...)
7878
if err != nil {
7979
return nil, fmt.Errorf("failed to get translator set for DatabaseUser: %w", err)
8080
}

internal/generated/controller/flexcluster/flexcluster_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func NewFlexClusterReconciler(
7474
if err != nil {
7575
return nil, fmt.Errorf("failed to read CRD for FlexCluster: %w", err)
7676
}
77-
translators, err := crapi.NewPerVersionTranslators(crd, crdVersion, sdkVersions...)
77+
translators, err := crapi.NewPerVersionTranslators(c.GetScheme(), crd, crdVersion, sdkVersions...)
7878
if err != nil {
7979
return nil, fmt.Errorf("failed to get translator set for FlexCluster: %w", err)
8080
}

internal/generated/controller/group/group_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func NewGroupReconciler(
7474
if err != nil {
7575
return nil, fmt.Errorf("failed to read CRD for Group: %w", err)
7676
}
77-
translators, err := crapi.NewPerVersionTranslators(crd, crdVersion, sdkVersions...)
77+
translators, err := crapi.NewPerVersionTranslators(c.GetScheme(), crd, crdVersion, sdkVersions...)
7878
if err != nil {
7979
return nil, fmt.Errorf("failed to get translator set for Group: %w", err)
8080
}

tools/scaffolder/internal/generate/controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ func generateControllerFileWithMultipleVersions(dir, controllerName, resourceNam
229229
jen.List(jen.Id("translators"), jen.Id("err")).Op(":=").Qual(
230230
"github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/crapi", "NewPerVersionTranslators",
231231
).Call(
232+
jen.Id("c").Dot("GetScheme").Call(),
232233
jen.Id("crd"),
233234
jen.Id("crdVersion"),
234235
jen.Id("sdkVersions").Op("..."),

0 commit comments

Comments
 (0)