From d7cde03be9af0de4af2eee7bc23836aeac3415c5 Mon Sep 17 00:00:00 2001 From: Atharva Palaskar Date: Tue, 28 May 2024 15:45:07 +0530 Subject: [PATCH] fixes: #365; fix: Correct encoding of DateTime and Enum fields in toJson(), ensuring proper JSON response generation --- bin/src/generate_output.dart | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/bin/src/generate_output.dart b/bin/src/generate_output.dart index bd982d3e..f6090f2c 100644 --- a/bin/src/generate_output.dart +++ b/bin/src/generate_output.dart @@ -43,6 +43,7 @@ extension on Generator { Method generateToJsonMethod(dmmf.OutputType output) { Expression generateValueExpression(Expression value, dmmf.OutputField field, [bool nullable = true]) { + if ((field.outputType.location == dmmf.TypeLocation.scalar && field.outputType.type == 'Json') || field.outputType.location == dmmf.TypeLocation.outputObjectTypes) { @@ -52,6 +53,18 @@ extension on Generator { return call([]); } + else if(field.outputType.location == dmmf.TypeLocation.scalar && + field.outputType.type == 'DateTime') { + final call = nullable + ? value.nullSafeProperty('toIso8601String') + : value.property('toIso8601String'); + return call([]); + } + else if(field.outputType.location == dmmf.TypeLocation.enumTypes) { + return nullable + ? value.nullSafeProperty('name') + : value.property('name'); + } return value; }