From c173a400c72bfc3cb2c5138da5f49f98d4a9176e Mon Sep 17 00:00:00 2001 From: ymk <81808708+yk-eukarya@users.noreply.github.com> Date: Mon, 28 Oct 2024 07:39:18 +0100 Subject: [PATCH] fix(server): integer/number related min/max props should be nullable --- .../adapter/gql/gqlmodel/convert_schema.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/server/internal/adapter/gql/gqlmodel/convert_schema.go b/server/internal/adapter/gql/gqlmodel/convert_schema.go index 3948c193c7..4e8db4e0e2 100644 --- a/server/internal/adapter/gql/gqlmodel/convert_schema.go +++ b/server/internal/adapter/gql/gqlmodel/convert_schema.go @@ -9,7 +9,6 @@ import ( "github.com/reearth/reearth-cms/server/pkg/value" "github.com/reearth/reearthx/i18n" "github.com/reearth/reearthx/rerror" - "github.com/reearth/reearthx/util" "github.com/samber/lo" ) @@ -270,8 +269,8 @@ func ToSchemaFieldTypeProperty(tp *schema.TypeProperty, dv *value.Multiple, mult } res = &SchemaFieldNumber{ DefaultValue: v, - Min: util.ToPtrIfNotEmpty(float64(lo.FromPtr(f.Min()))), - Max: util.ToPtrIfNotEmpty(float64(lo.FromPtr(f.Max()))), + Min: f.Min(), + Max: f.Max(), } }, Integer: func(f *schema.FieldInteger) { @@ -285,8 +284,8 @@ func ToSchemaFieldTypeProperty(tp *schema.TypeProperty, dv *value.Multiple, mult } res = &SchemaFieldInteger{ DefaultValue: v, - Min: util.ToPtrIfNotEmpty(int(lo.FromPtr(f.Min()))), - Max: util.ToPtrIfNotEmpty(int(lo.FromPtr(f.Max()))), + Min: intPtr(f.Min()), + Max: intPtr(f.Max()), } }, Reference: func(f *schema.FieldReference) { @@ -673,3 +672,10 @@ func unpackArray(s any) []any { } return r } + +func intPtr(v *int64) *int { + if v == nil { + return nil + } + return lo.ToPtr((int)(*v)) +}