Skip to content

Commit e4a6153

Browse files
committed
source code for TimeSpan
1 parent bc70f04 commit e4a6153

File tree

176 files changed

+1854
-66
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+1854
-66
lines changed

docs/generators/aspnet-fastendpoints.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl
7777
<li>Object</li>
7878
<li>String</li>
7979
<li>System.IO.Stream</li>
80+
<li>TimeSpan</li>
81+
<li>TimeSpan?</li>
8082
<li>bool</li>
8183
<li>bool?</li>
8284
<li>byte[]</li>

docs/generators/aspnetcore.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl
9595
<li>Object</li>
9696
<li>String</li>
9797
<li>System.IO.Stream</li>
98+
<li>TimeSpan</li>
99+
<li>TimeSpan?</li>
98100
<li>bool</li>
99101
<li>bool?</li>
100102
<li>byte[]</li>

docs/generators/csharp-functions.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl
8787
<li>Object</li>
8888
<li>String</li>
8989
<li>System.IO.Stream</li>
90+
<li>TimeSpan</li>
91+
<li>TimeSpan?</li>
9092
<li>bool</li>
9193
<li>bool?</li>
9294
<li>byte[]</li>

docs/generators/csharp.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl
9696
<li>Object</li>
9797
<li>String</li>
9898
<li>System.IO.Stream</li>
99+
<li>TimeSpan</li>
100+
<li>TimeSpan?</li>
99101
<li>bool</li>
100102
<li>bool?</li>
101103
<li>byte[]</li>

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,8 @@ public AbstractCSharpCodegen() {
195195
"DateTimeOffset",
196196
"DateOnly?",
197197
"DateOnly",
198+
"TimeSpan?",
199+
"TimeSpan",
198200
"Boolean",
199201
"Double",
200202
"Decimal",
@@ -1427,6 +1429,10 @@ public String toDefaultValue(Schema p) {
14271429
if (p.getDefault() != null) {
14281430
return "\"" + p.getDefault().toString() + "\"";
14291431
}
1432+
} else if (ModelUtils.isDurationSchema(p)) {
1433+
if (p.getDefault() != null) {
1434+
return "\"" + p.getDefault().toString() + "\"";
1435+
}
14301436
} else if (ModelUtils.isNumberSchema(p)) {
14311437
if (p.getDefault() != null) {
14321438
if (ModelUtils.isFloatSchema(p)) { // float
@@ -1986,7 +1992,7 @@ protected Set<String> getNullableTypes() {
19861992
}
19871993

19881994
protected Set<String> getValueTypes() {
1989-
return new HashSet<>(Arrays.asList("decimal", "bool", "int", "uint", "long", "ulong", "float", "double", "DateTime", "DateOnly", "DateTimeOffset", "Guid"));
1995+
return new HashSet<>(Arrays.asList("decimal", "bool", "int", "uint", "long", "ulong", "float", "double", "DateTime", "DateOnly", "DateTimeOffset", "TimeSpan", "Guid"));
19901996
}
19911997

19921998
protected void setTypeMapping() {
@@ -2006,6 +2012,7 @@ protected void setTypeMapping() {
20062012
typeMapping.put("BigDecimal", "decimal");
20072013
typeMapping.put("DateTime", this.useDateTimeOffsetFlag ? "DateTimeOffset" : "DateTime");
20082014
typeMapping.put("date", this.useDateOnly() ? "DateOnly" : "DateTime");
2015+
typeMapping.put("duration", "TimeSpan");
20092016
typeMapping.put("file", "System.IO.Stream");
20102017
typeMapping.put("array", "List");
20112018
typeMapping.put("list", "List");

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetServerCodegen.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ private void addCentralizedPackageManagementOption(){
327327
@Override
328328
protected Set<String> getNullableTypes() {
329329
return new HashSet<>(Arrays.asList("decimal", "bool", "int", "uint", "long", "ulong", "float", "double",
330-
"DateTime", "DateOnly", "DateTimeOffset", "Guid"));
330+
"DateTime", "DateOnly", "DateTimeOffset", "TimeSpan", "Guid"));
331331
}
332332

333333
@Override

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpFunctionsServerCodegen.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ public CSharpFunctionsServerCodegen() {
260260
@Override
261261
protected Set<String> getNullableTypes() {
262262
return new HashSet<>(Arrays.asList("decimal", "bool", "int", "uint", "long", "ulong", "float", "double",
263-
"DateTime", "DateTimeOffset", "Guid"));
263+
"DateTime", "DateTimeOffset", "TimeSpan", "Guid"));
264264
}
265265

266266
@Override

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpReducedClientCodegen.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ public CSharpReducedClientCodegen() {
306306
@Override
307307
protected Set<String> getNullableTypes() {
308308
return new HashSet<>(Arrays.asList("decimal", "bool", "int", "uint", "long", "ulong", "float", "double",
309-
"DateTime", "DateTimeOffset", "Guid"));
309+
"DateTime", "DateTimeOffset", "TimeSpan", "Guid"));
310310
}
311311

312312
@Override

modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/ModelUtils.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -692,6 +692,12 @@ public static boolean isDateTimeSchema(Schema schema) {
692692
&& SchemaTypeUtil.DATE_TIME_FORMAT.equals(schema.getFormat()));
693693
}
694694

695+
public static boolean isDurationSchema(Schema schema) {
696+
// format: duration (todo: swagger parser does not support duration)
697+
return (SchemaTypeUtil.STRING_TYPE.equals(getType(schema))
698+
&& "duration".equals(schema.getFormat()));
699+
}
700+
695701
public static boolean isPasswordSchema(Schema schema) {
696702
return (schema instanceof PasswordSchema) ||
697703
// double

modules/openapi-generator/src/test/resources/3_0/csharp-netcore/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1592,6 +1592,10 @@ components:
15921592
type: string
15931593
format: date-time
15941594
example: '2007-12-03T10:15:30+01:00'
1595+
duration:
1596+
type: string
1597+
format: duration
1598+
example: '1.03:14:56.1667'
15951599
uuid:
15961600
type: string
15971601
format: uuid

0 commit comments

Comments
 (0)