Skip to content

Commit 54bbdf2

Browse files
committed
Add support for primitive type time
1 parent a33e29b commit 54bbdf2

47 files changed

Lines changed: 311 additions & 68 deletions

File tree

Some content is hidden

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

shared/Metadata/PrimitiveType.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public enum PrimitiveType
1414
Binary,
1515
Stream,
1616
Date,
17+
Time,
1718
DateTime,
1819
DateTimeOffset,
1920
String,

src/Dibix.Sdk.CodeGeneration/Mapping/PrimitiveTypeMap.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ internal static class PrimitiveTypeMap
2424
, [SqlDataTypeOption.Binary] = PrimitiveType.Binary
2525
, [SqlDataTypeOption.VarBinary] = PrimitiveType.Binary
2626
, [SqlDataTypeOption.Date] = PrimitiveType.Date
27+
, [SqlDataTypeOption.Time] = PrimitiveType.Time
2728
, [SqlDataTypeOption.DateTime] = PrimitiveType.DateTime
2829
, [SqlDataTypeOption.DateTime2] = PrimitiveType.DateTime
2930
, [SqlDataTypeOption.DateTimeOffset] = PrimitiveType.DateTimeOffset
@@ -49,6 +50,7 @@ internal static class PrimitiveTypeMap
4950
, [PrimitiveType.Binary] = SqlDbType.VarBinary
5051
, [PrimitiveType.Stream] = SqlDbType.VarBinary
5152
, [PrimitiveType.Date] = SqlDbType.Date
53+
, [PrimitiveType.Time] = SqlDbType.Time
5254
, [PrimitiveType.DateTime] = SqlDbType.DateTime
5355
, [PrimitiveType.DateTimeOffset] = SqlDbType.DateTimeOffset
5456
, [PrimitiveType.String] = SqlDbType.NVarChar
@@ -69,6 +71,7 @@ internal static class PrimitiveTypeMap
6971
, [PrimitiveType.Binary] = () => new OpenApiSchema { Type = "string", Format = "byte" }
7072
, [PrimitiveType.Stream] = () => new OpenApiSchema { Type = "string", Format = "binary" }
7173
, [PrimitiveType.Date] = () => new OpenApiSchema { Type = "string", Format = "date" }
74+
, [PrimitiveType.Time] = () => new OpenApiSchema { Type = "string", Format = "time" }
7275
, [PrimitiveType.DateTime] = () => new OpenApiSchema { Type = "string", Format = "date-time" }
7376
, [PrimitiveType.DateTimeOffset] = () => new OpenApiSchema { Type = "string", Format = "date-time" }
7477
, [PrimitiveType.String] = () => new OpenApiSchema { Type = "string" }

src/Dibix.Sdk.CodeGeneration/OpenApi/OpenApiGenerator.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -526,6 +526,7 @@ private static IOpenApiAny ParseDefaultValue(PrimitiveType type, object value)
526526
case PrimitiveType.Float: return new OpenApiFloat((float)value);
527527
case PrimitiveType.Double: return new OpenApiDouble((double)value);
528528
case PrimitiveType.Date: return new OpenApiDate((DateTime)value);
529+
case PrimitiveType.Time: return new OpenApiDateTime((DateTime)value);
529530
case PrimitiveType.DateTime: return new OpenApiDateTime((DateTime)value);
530531
case PrimitiveType.DateTimeOffset: return new OpenApiDateTime((DateTimeOffset)value);
531532
case PrimitiveType.String: return new OpenApiString((string)value);

src/Dibix.Sdk.CodeGeneration/Output/CodeGenerationContext.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public sealed class CodeGenerationContext
2222
, [PrimitiveType.Binary] = "byte[]"
2323
, [PrimitiveType.Stream] = "System.IO.Stream"
2424
, [PrimitiveType.Date] = "System.DateTime"
25+
, [PrimitiveType.Time] = "System.TimeSpan"
2526
, [PrimitiveType.DateTime] = "System.DateTime"
2627
, [PrimitiveType.DateTimeOffset] = "System.DateTimeOffset"
2728
, [PrimitiveType.String] = "string"

src/Dibix.Sdk.CodeGeneration/Output/DaoExecutorWriter.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -597,6 +597,7 @@ private static string GetSetParameterMethodName(PrimitiveType dataType)
597597
case PrimitiveType.Decimal: return "SetDecimal";
598598
case PrimitiveType.Binary: return "SetBytes";
599599
case PrimitiveType.Date: return "SetDate";
600+
case PrimitiveType.Time: return "SetTime";
600601
case PrimitiveType.DateTime: return "SetDateTime";
601602
case PrimitiveType.String: return "SetString";
602603
case PrimitiveType.UUID: return "SetGuid";

src/Dibix.Sdk.CodeGeneration/Parser/JsonValueReferenceParser.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ private static bool TryParseStringValue(JValue jsonValue, PrimitiveType targetTy
110110
rawValue = (DateTime)jsonValue;
111111
return true;
112112

113+
case PrimitiveType.Time:
114+
rawValue = (DateTime)jsonValue;
115+
return true;
116+
113117
case PrimitiveType.DateTime:
114118
rawValue = (DateTime)jsonValue;
115119
return true;

src/Dibix.Sdk.CodeGeneration/Parser/SqlValueReferenceParser.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,10 @@ private static bool TryParseStringValue(string value, PrimitiveType targetType,
111111
rawValue = dateTimeValue;
112112
return true;
113113

114+
case PrimitiveType.Time when DateTime.TryParse(value, out DateTime dateTimeValue):
115+
rawValue = dateTimeValue;
116+
return true;
117+
114118
case PrimitiveType.DateTime when DateTime.TryParse(value, out DateTime dateTimeValue):
115119
rawValue = dateTimeValue;
116120
return true;

src/Dibix.Sdk.CodeGeneration/Schema/dibix.contracts.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"definitions": {
44
"PrimitiveTypeReference": {
55
"type": "string",
6-
"pattern": "^(binary|boolean|byte|date|datetime|datetimeoffset|decimal|double|float|int16|int32|int64|string|uri|uuid|xml)\\??\\*?$"
6+
"pattern": "^(binary|boolean|byte|date|time|datetime|datetimeoffset|decimal|double|float|int16|int32|int64|string|uri|uuid|xml)\\??\\*?$"
77
},
88
"SchemaTypeReference": {
99
"type": "string",

src/Dibix.Sdk.CodeGeneration/Schema/dibix.endpoints.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"definitions": {
44
"PrimitiveTypeReference": {
55
"type": "string",
6-
"pattern": "^(binary|boolean|byte|date|datetime|datetimeoffset|decimal|double|float|int16|int32|int64|string|uri|uuid|xml)\\??\\*?$"
6+
"pattern": "^(binary|boolean|byte|date|time|datetime|datetimeoffset|decimal|double|float|int16|int32|int64|string|uri|uuid|xml)\\??\\*?$"
77
},
88
"SchemaTypeReference": {
99
"type": "string",

src/Dibix.Sdk/Schema/dibix.configuration.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
},
88
"PrimitiveType": {
99
"type": "string",
10-
"pattern": "^(binary|boolean|byte|date|datetime|datetimeoffset|decimal|double|float|int16|int32|int64|string|uri|uuid|xml)\\??\\*?$"
10+
"pattern": "^(binary|boolean|byte|date|time|datetime|datetimeoffset|decimal|double|float|int16|int32|int64|string|uri|uuid|xml)\\??\\*?$"
1111
},
1212
"ConstantSource": {
1313
"anyOf": [

0 commit comments

Comments
 (0)