From 26fa547fd2f8396da850003bb44c91e14a9bc975 Mon Sep 17 00:00:00 2001 From: Ian White Date: Sun, 23 Apr 2017 05:44:40 -0400 Subject: [PATCH] typescript-angular2: ensuring that dates are strings and datetimes are Dates (#5417) --- .../TypeScriptAngular2ClientCodegen.java | 2 +- .../typescript-angular2/api.service.mustache | 5 ----- .../TypeScriptAngular2ModelTest.java | 18 ++++++++++++++++-- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/TypeScriptAngular2ClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/TypeScriptAngular2ClientCodegen.java index 00c98ed43ff..79db0d1ad25 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/TypeScriptAngular2ClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/TypeScriptAngular2ClientCodegen.java @@ -42,7 +42,7 @@ public class TypeScriptAngular2ClientCodegen extends AbstractTypeScriptClientCod modelTemplateFiles.put("model.mustache", ".ts"); apiTemplateFiles.put("api.service.mustache", ".ts"); languageSpecificPrimitives.add("Blob"); - typeMapping.put("Date","Date"); + typeMapping.put("date","string"); typeMapping.put("file","Blob"); apiPackage = "api"; modelPackage = "model"; diff --git a/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache b/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache index d7eb4862665..64fb87eea93 100644 --- a/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache +++ b/modules/swagger-codegen/src/main/resources/typescript-angular2/api.service.mustache @@ -132,12 +132,7 @@ export class {{classname}} { queryParameters.set('{{baseName}}', {{paramName}}.toISOString()); {{/isDateTime}} {{^isDateTime}} - {{#isDate}} - queryParameters.set('{{baseName}}', {{paramName}}.toISOString()); - {{/isDate}} - {{^isDate}} queryParameters.set('{{baseName}}', {{paramName}}); - {{/isDate}} {{/isDateTime}} } {{/isListContainer}} diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/typescript/typescriptangular2/TypeScriptAngular2ModelTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/typescript/typescriptangular2/TypeScriptAngular2ModelTest.java index 27a1d9aa69e..b8fbc4e3c16 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/typescript/typescriptangular2/TypeScriptAngular2ModelTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/typescript/typescriptangular2/TypeScriptAngular2ModelTest.java @@ -14,6 +14,7 @@ import io.swagger.models.Model; import io.swagger.models.ModelImpl; import io.swagger.models.properties.ArrayProperty; import io.swagger.models.properties.DateTimeProperty; +import io.swagger.models.properties.DateProperty; import io.swagger.models.properties.LongProperty; import io.swagger.models.properties.RefProperty; import io.swagger.models.properties.StringProperty; @@ -28,6 +29,7 @@ public class TypeScriptAngular2ModelTest { .property("id", new LongProperty()) .property("name", new StringProperty()) .property("createdAt", new DateTimeProperty()) + .property("birthDate", new DateProperty()) .required("id") .required("name"); final DefaultCodegen codegen = new TypeScriptAngular2ClientCodegen(); @@ -36,7 +38,7 @@ public class TypeScriptAngular2ModelTest { Assert.assertEquals(cm.name, "sample"); Assert.assertEquals(cm.classname, "Sample"); Assert.assertEquals(cm.description, "a sample model"); - Assert.assertEquals(cm.vars.size(), 3); + Assert.assertEquals(cm.vars.size(), 4); final CodegenProperty property1 = cm.vars.get(0); Assert.assertEquals(property1.baseName, "id"); @@ -63,10 +65,22 @@ public class TypeScriptAngular2ModelTest { Assert.assertEquals(property3.complexType, null); Assert.assertEquals(property3.datatype, "Date"); Assert.assertEquals(property3.name, "createdAt"); + Assert.assertEquals(property3.baseType, "Date"); Assert.assertEquals(property3.defaultValue, "null"); - Assert.assertFalse(property3.hasMore); + Assert.assertTrue(property3.hasMore); Assert.assertFalse(property3.required); Assert.assertTrue(property3.isNotContainer); + + final CodegenProperty property4 = cm.vars.get(3); + Assert.assertEquals(property4.baseName, "birthDate"); + Assert.assertEquals(property4.complexType, null); + Assert.assertEquals(property4.datatype, "string"); + Assert.assertEquals(property4.name, "birthDate"); + Assert.assertEquals(property4.baseType, "string"); + Assert.assertEquals(property4.defaultValue, "null"); + Assert.assertFalse(property4.hasMore); + Assert.assertFalse(property4.required); + Assert.assertTrue(property4.isNotContainer); } @Test(description = "convert a model with list property")