diff --git a/output/csharp/src/Seam.Test/Client/SeamTests.cs b/output/csharp/src/Seam.Test/Client/SeamTests.cs index 6f9d66a..61964a5 100644 --- a/output/csharp/src/Seam.Test/Client/SeamTests.cs +++ b/output/csharp/src/Seam.Test/Client/SeamTests.cs @@ -141,4 +141,120 @@ public void TestUnknownEnumValue() device.Properties.AvailableFanModeSettings[1] ); } + + [Fact] + public void TestDiscriminatedUnionArrayWithUnknownTypes() + { + var json = + @"{ + ""connected_account_id"": ""test-account-id"", + ""account_type"": ""august"", + ""account_type_display_name"": ""August Lock"", + ""automatically_manage_new_devices"": true, + ""created_at"": ""2024-01-15T10:00:00Z"", + ""accepted_capabilities"": [], + ""custom_metadata"": {}, + ""errors"": [ + { + ""error_code"": ""unknown_error_type"", + ""message"": ""An unknown error occurred"", + ""created_at"": ""2024-01-15T10:00:00Z"" + } + ], + ""warnings"": [ + { + ""warning_code"": ""unknown_warning_type"", + ""message"": ""An unknown warning occurred"", + ""created_at"": ""2024-01-15T10:00:00Z"" + } + ] + }"; + + var settings = new JsonSerializerSettings + { + Converters = new List { new SafeStringEnumConverter() }, + MissingMemberHandling = MissingMemberHandling.Ignore, + }; + + // Unknown discriminated union types should fall back to unrecognized type + var account = JsonConvert.DeserializeObject(json, settings); + + Assert.NotNull(account); + Assert.NotNull(account.Errors); + Assert.Single(account.Errors); + + // The unknown error type should fall back to an unrecognized error type + var error = account.Errors[0]; + Assert.Equal("unrecognized", error.ErrorCode); + Assert.Equal("An unknown error occurred", error.Message); + } + + [Fact] + public void TestEventArrayWithUnknownTypes() + { + var json = + @"[ + { + ""event_id"": ""event-1"", + ""event_type"": ""device.connected"", + ""created_at"": ""2024-01-15T10:00:00Z"", + ""occurred_at"": ""2024-01-15T10:00:00Z"", + ""device_id"": ""device-123"", + ""connected_account_id"": ""account-123"", + ""workspace_id"": ""workspace-123"" + }, + { + ""event_id"": ""event-2"", + ""event_type"": ""unknown_event_type"", + ""created_at"": ""2024-01-15T10:00:00Z"", + ""custom_field"": ""custom_value"" + } + ]"; + + var settings = new JsonSerializerSettings + { + Converters = new List { new SafeStringEnumConverter() }, + MissingMemberHandling = MissingMemberHandling.Ignore, + }; + + // Unknown event types should fall back to unrecognized type + var events = JsonConvert.DeserializeObject>(json, settings); + + Assert.NotNull(events); + Assert.Equal(2, events.Count); + + // First event should deserialize normally + Assert.IsType(events[0]); + + // Second event with unknown type should fall back to unrecognized + var unknownEvent = events[1]; + Assert.IsType(unknownEvent); + Assert.Equal("unrecognized", unknownEvent.EventType); + } + + [Fact] + public void TestActionAttemptWithUnknownType() + { + // Test case for ActionAttempt with unknown action types + var json = + @"{ + ""action_attempt_id"": ""attempt-123"", + ""action_type"": ""UNKNOWN_ACTION"", + ""status"": ""success"", + ""result"": {}, + ""error"": null + }"; + + var settings = new JsonSerializerSettings + { + Converters = new List { new SafeStringEnumConverter() }, + MissingMemberHandling = MissingMemberHandling.Ignore, + }; + + // Unknown action types should fall back to unrecognized type + var actionAttempt = JsonConvert.DeserializeObject(json, settings); + + Assert.NotNull(actionAttempt); + Assert.Equal("unrecognized", actionAttempt.ActionType); + } } diff --git a/output/csharp/src/Seam/Model/AccessCode.cs b/output/csharp/src/Seam/Model/AccessCode.cs index 5927e73..3d4d6a3 100644 --- a/output/csharp/src/Seam/Model/AccessCode.cs +++ b/output/csharp/src/Seam/Model/AccessCode.cs @@ -64,6 +64,7 @@ public AccessCode( } [JsonConverter(typeof(JsonSubtypes), "error_code")] + [JsonSubtypes.FallBackSubType(typeof(AccessCodeErrorsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(AccessCodeErrorsBridgeDisconnected), "bridge_disconnected" @@ -2362,6 +2363,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_accessCodeErrorsUnrecognized_model")] + public class AccessCodeErrorsUnrecognized : AccessCodeErrors + { + [JsonConstructorAttribute] + protected AccessCodeErrorsUnrecognized() { } + + public AccessCodeErrorsUnrecognized( + string errorCode = default, + string message = default + ) + { + ErrorCode = errorCode; + Message = message; + } + + [DataMember(Name = "error_code", IsRequired = true, EmitDefaultValue = false)] + public override string ErrorCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [JsonConverter(typeof(SafeStringEnumConverter))] public enum StatusEnum { @@ -2398,6 +2440,7 @@ public enum TypeEnum } [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(AccessCodeWarningsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(AccessCodeWarningsKwiksetUnableToConfirmCode), "kwikset_unable_to_confirm_code" @@ -3010,6 +3053,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_accessCodeWarningsUnrecognized_model")] + public class AccessCodeWarningsUnrecognized : AccessCodeWarnings + { + [JsonConstructorAttribute] + protected AccessCodeWarningsUnrecognized() { } + + public AccessCodeWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "access_code_id", IsRequired = true, EmitDefaultValue = false)] public string AccessCodeId { get; set; } diff --git a/output/csharp/src/Seam/Model/AccessGrant.cs b/output/csharp/src/Seam/Model/AccessGrant.cs index 86baf7d..1c680f1 100644 --- a/output/csharp/src/Seam/Model/AccessGrant.cs +++ b/output/csharp/src/Seam/Model/AccessGrant.cs @@ -54,6 +54,7 @@ public AccessGrant( } [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(AccessGrantWarningsUnrecognized))] [JsonSubtypes.KnownSubType(typeof(AccessGrantWarningsBeingDeleted), "being_deleted")] public abstract class AccessGrantWarnings { @@ -110,6 +111,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_accessGrantWarningsUnrecognized_model")] + public class AccessGrantWarningsUnrecognized : AccessGrantWarnings + { + [JsonConstructorAttribute] + protected AccessGrantWarningsUnrecognized() { } + + public AccessGrantWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "access_grant_id", IsRequired = true, EmitDefaultValue = false)] public string AccessGrantId { get; set; } diff --git a/output/csharp/src/Seam/Model/AccessMethod.cs b/output/csharp/src/Seam/Model/AccessMethod.cs index 7cc5f52..65533e0 100644 --- a/output/csharp/src/Seam/Model/AccessMethod.cs +++ b/output/csharp/src/Seam/Model/AccessMethod.cs @@ -62,6 +62,7 @@ public enum ModeEnum } [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(AccessMethodWarningsUnrecognized))] [JsonSubtypes.KnownSubType(typeof(AccessMethodWarningsBeingDeleted), "being_deleted")] public abstract class AccessMethodWarnings { @@ -118,6 +119,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_accessMethodWarningsUnrecognized_model")] + public class AccessMethodWarningsUnrecognized : AccessMethodWarnings + { + [JsonConstructorAttribute] + protected AccessMethodWarningsUnrecognized() { } + + public AccessMethodWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "access_method_id", IsRequired = true, EmitDefaultValue = false)] public string AccessMethodId { get; set; } diff --git a/output/csharp/src/Seam/Model/AcsCredential.cs b/output/csharp/src/Seam/Model/AcsCredential.cs index 0d60087..d62ff4d 100644 --- a/output/csharp/src/Seam/Model/AcsCredential.cs +++ b/output/csharp/src/Seam/Model/AcsCredential.cs @@ -129,6 +129,7 @@ public enum ExternalTypeEnum } [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(AcsCredentialWarningsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(AcsCredentialWarningsNeedsToBeReissued), "needs_to_be_reissued" @@ -435,6 +436,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_acsCredentialWarningsUnrecognized_model")] + public class AcsCredentialWarningsUnrecognized : AcsCredentialWarnings + { + [JsonConstructorAttribute] + protected AcsCredentialWarningsUnrecognized() { } + + public AcsCredentialWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "access_method", IsRequired = true, EmitDefaultValue = false)] public AcsCredential.AccessMethodEnum AccessMethod { get; set; } diff --git a/output/csharp/src/Seam/Model/AcsSystem.cs b/output/csharp/src/Seam/Model/AcsSystem.cs index 8f86312..f9a547e 100644 --- a/output/csharp/src/Seam/Model/AcsSystem.cs +++ b/output/csharp/src/Seam/Model/AcsSystem.cs @@ -60,6 +60,7 @@ public AcsSystem( } [JsonConverter(typeof(JsonSubtypes), "error_code")] + [JsonSubtypes.FallBackSubType(typeof(AcsSystemErrorsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(AcsSystemErrorsSaltoKsCertificationExpired), "salto_ks_certification_expired" @@ -424,6 +425,44 @@ public override string ToString() } } + [DataContract(Name = "seamModel_acsSystemErrorsUnrecognized_model")] + public class AcsSystemErrorsUnrecognized : AcsSystemErrors + { + [JsonConstructorAttribute] + protected AcsSystemErrorsUnrecognized() { } + + public AcsSystemErrorsUnrecognized(string errorCode = default, string message = default) + { + ErrorCode = errorCode; + Message = message; + } + + [DataMember(Name = "error_code", IsRequired = true, EmitDefaultValue = false)] + public override string ErrorCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [JsonConverter(typeof(SafeStringEnumConverter))] public enum ExternalTypeEnum { @@ -529,6 +568,7 @@ public enum SystemTypeEnum } [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(AcsSystemWarningsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(AcsSystemWarningsTimeZoneDoesNotMatchLocation), "time_zone_does_not_match_location" @@ -650,6 +690,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_acsSystemWarningsUnrecognized_model")] + public class AcsSystemWarningsUnrecognized : AcsSystemWarnings + { + [JsonConstructorAttribute] + protected AcsSystemWarningsUnrecognized() { } + + public AcsSystemWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "acs_access_group_count", IsRequired = false, EmitDefaultValue = false)] public float? AcsAccessGroupCount { get; set; } diff --git a/output/csharp/src/Seam/Model/AcsUser.cs b/output/csharp/src/Seam/Model/AcsUser.cs index 734896c..6411ca5 100644 --- a/output/csharp/src/Seam/Model/AcsUser.cs +++ b/output/csharp/src/Seam/Model/AcsUser.cs @@ -68,6 +68,7 @@ public AcsUser( } [JsonConverter(typeof(JsonSubtypes), "error_code")] + [JsonSubtypes.FallBackSubType(typeof(AcsUserErrorsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(AcsUserErrorsLatchConflictWithResidentUser), "latch_conflict_with_resident_user" @@ -374,6 +375,44 @@ public override string ToString() } } + [DataContract(Name = "seamModel_acsUserErrorsUnrecognized_model")] + public class AcsUserErrorsUnrecognized : AcsUserErrors + { + [JsonConstructorAttribute] + protected AcsUserErrorsUnrecognized() { } + + public AcsUserErrorsUnrecognized(string errorCode = default, string message = default) + { + ErrorCode = errorCode; + Message = message; + } + + [DataMember(Name = "error_code", IsRequired = true, EmitDefaultValue = false)] + public override string ErrorCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [JsonConverter(typeof(SafeStringEnumConverter))] public enum ExternalTypeEnum { @@ -403,6 +442,7 @@ public enum ExternalTypeEnum } [JsonConverter(typeof(JsonSubtypes), "mutation_code")] + [JsonSubtypes.FallBackSubType(typeof(AcsUserPendingMutationsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(AcsUserPendingMutationsUpdatingGroupMembership), "updating_group_membership" @@ -1058,7 +1098,42 @@ public override string ToString() } } + [DataContract(Name = "seamModel_acsUserPendingMutationsUnrecognized_model")] + public class AcsUserPendingMutationsUnrecognized : AcsUserPendingMutations + { + [JsonConstructorAttribute] + protected AcsUserPendingMutationsUnrecognized() { } + + public AcsUserPendingMutationsUnrecognized(string mutationCode = default) + { + MutationCode = mutationCode; + } + + [DataMember(Name = "mutation_code", IsRequired = true, EmitDefaultValue = false)] + public override string MutationCode { get; } = "unrecognized"; + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(AcsUserWarningsUnrecognized))] [JsonSubtypes.KnownSubType(typeof(AcsUserWarningsLatchResidentUser), "latch_resident_user")] [JsonSubtypes.KnownSubType( typeof(AcsUserWarningsUnknownIssueWithAcsUser), @@ -1262,6 +1337,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_acsUserWarningsUnrecognized_model")] + public class AcsUserWarningsUnrecognized : AcsUserWarnings + { + [JsonConstructorAttribute] + protected AcsUserWarningsUnrecognized() { } + + public AcsUserWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "access_schedule", IsRequired = false, EmitDefaultValue = false)] public AcsUserAccessSchedule? AccessSchedule { get; set; } diff --git a/output/csharp/src/Seam/Model/ActionAttempt.cs b/output/csharp/src/Seam/Model/ActionAttempt.cs index 0e97e5f..6439ec1 100644 --- a/output/csharp/src/Seam/Model/ActionAttempt.cs +++ b/output/csharp/src/Seam/Model/ActionAttempt.cs @@ -9,6 +9,7 @@ namespace Seam.Model { [JsonConverter(typeof(JsonSubtypes), "action_type")] + [JsonSubtypes.FallBackSubType(typeof(ActionAttemptUnrecognized))] [JsonSubtypes.KnownSubType(typeof(ActionAttemptUpdateNoiseThreshold), "UPDATE_NOISE_THRESHOLD")] [JsonSubtypes.KnownSubType(typeof(ActionAttemptDeleteNoiseThreshold), "DELETE_NOISE_THRESHOLD")] [JsonSubtypes.KnownSubType(typeof(ActionAttemptCreateNoiseThreshold), "CREATE_NOISE_THRESHOLD")] @@ -1344,4 +1345,38 @@ public override string ToString() return stringWriter.ToString(); } } + + [DataContract(Name = "seamModel_actionAttemptUnrecognized_model")] + public class ActionAttemptUnrecognized : ActionAttempt + { + [JsonConstructorAttribute] + protected ActionAttemptUnrecognized() { } + + public ActionAttemptUnrecognized(string actionType = default) + { + ActionType = actionType; + } + + [DataMember(Name = "action_type", IsRequired = true, EmitDefaultValue = false)] + public override string ActionType { get; } = "unrecognized"; + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } } diff --git a/output/csharp/src/Seam/Model/BridgeClientSession.cs b/output/csharp/src/Seam/Model/BridgeClientSession.cs index 0ca89d9..b6a0708 100644 --- a/output/csharp/src/Seam/Model/BridgeClientSession.cs +++ b/output/csharp/src/Seam/Model/BridgeClientSession.cs @@ -48,6 +48,7 @@ public BridgeClientSession( } [JsonConverter(typeof(JsonSubtypes), "error_code")] + [JsonSubtypes.FallBackSubType(typeof(BridgeClientSessionErrorsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(BridgeClientSessionErrorsNoCommunicationFromBridge), "no_communication_from_bridge" @@ -202,6 +203,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_bridgeClientSessionErrorsUnrecognized_model")] + public class BridgeClientSessionErrorsUnrecognized : BridgeClientSessionErrors + { + [JsonConstructorAttribute] + protected BridgeClientSessionErrorsUnrecognized() { } + + public BridgeClientSessionErrorsUnrecognized( + string errorCode = default, + string message = default + ) + { + ErrorCode = errorCode; + Message = message; + } + + [DataMember(Name = "error_code", IsRequired = true, EmitDefaultValue = false)] + public override string ErrorCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember( Name = "bridge_client_machine_identifier_key", IsRequired = true, diff --git a/output/csharp/src/Seam/Model/ConnectedAccount.cs b/output/csharp/src/Seam/Model/ConnectedAccount.cs index 31aa9c6..365f14e 100644 --- a/output/csharp/src/Seam/Model/ConnectedAccount.cs +++ b/output/csharp/src/Seam/Model/ConnectedAccount.cs @@ -61,6 +61,7 @@ public enum AcceptedCapabilitiesEnum } [JsonConverter(typeof(JsonSubtypes), "error_code")] + [JsonSubtypes.FallBackSubType(typeof(ConnectedAccountErrorsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(ConnectedAccountErrorsSaltoKsSubscriptionLimitExceeded), "salto_ks_subscription_limit_exceeded" @@ -435,7 +436,49 @@ public override string ToString() } } + [DataContract(Name = "seamModel_connectedAccountErrorsUnrecognized_model")] + public class ConnectedAccountErrorsUnrecognized : ConnectedAccountErrors + { + [JsonConstructorAttribute] + protected ConnectedAccountErrorsUnrecognized() { } + + public ConnectedAccountErrorsUnrecognized( + string errorCode = default, + string message = default + ) + { + ErrorCode = errorCode; + Message = message; + } + + [DataMember(Name = "error_code", IsRequired = true, EmitDefaultValue = false)] + public override string ErrorCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(ConnectedAccountWarningsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(ConnectedAccountWarningsSaltoKsSubscriptionLimitAlmostReached), "salto_ks_subscription_limit_almost_reached" @@ -710,6 +753,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_connectedAccountWarningsUnrecognized_model")] + public class ConnectedAccountWarningsUnrecognized : ConnectedAccountWarnings + { + [JsonConstructorAttribute] + protected ConnectedAccountWarningsUnrecognized() { } + + public ConnectedAccountWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "accepted_capabilities", IsRequired = true, EmitDefaultValue = false)] public List AcceptedCapabilities { get; set; } diff --git a/output/csharp/src/Seam/Model/Device.cs b/output/csharp/src/Seam/Model/Device.cs index 5ad26cb..ad0781b 100644 --- a/output/csharp/src/Seam/Model/Device.cs +++ b/output/csharp/src/Seam/Model/Device.cs @@ -226,6 +226,7 @@ public enum DeviceTypeEnum } [JsonConverter(typeof(JsonSubtypes), "error_code")] + [JsonSubtypes.FallBackSubType(typeof(DeviceErrorsUnrecognized))] [JsonSubtypes.KnownSubType(typeof(DeviceErrorsBridgeDisconnected), "bridge_disconnected")] [JsonSubtypes.KnownSubType(typeof(DeviceErrorsInvalidCredentials), "invalid_credentials")] [JsonSubtypes.KnownSubType( @@ -1130,7 +1131,46 @@ public override string ToString() } } + [DataContract(Name = "seamModel_deviceErrorsUnrecognized_model")] + public class DeviceErrorsUnrecognized : DeviceErrors + { + [JsonConstructorAttribute] + protected DeviceErrorsUnrecognized() { } + + public DeviceErrorsUnrecognized(string errorCode = default, string message = default) + { + ErrorCode = errorCode; + Message = message; + } + + [DataMember(Name = "error_code", IsRequired = true, EmitDefaultValue = false)] + public override string ErrorCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(DeviceWarningsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(DeviceWarningsLocklyTimeZoneNotConfigured), "lockly_time_zone_not_configured" @@ -1986,6 +2026,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_deviceWarningsUnrecognized_model")] + public class DeviceWarningsUnrecognized : DeviceWarnings + { + [JsonConstructorAttribute] + protected DeviceWarningsUnrecognized() { } + + public DeviceWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "can_hvac_cool", IsRequired = false, EmitDefaultValue = false)] public bool? CanHvacCool { get; set; } diff --git a/output/csharp/src/Seam/Model/Event.cs b/output/csharp/src/Seam/Model/Event.cs index 8de376a..8270b57 100644 --- a/output/csharp/src/Seam/Model/Event.cs +++ b/output/csharp/src/Seam/Model/Event.cs @@ -9,6 +9,7 @@ namespace Seam.Model { [JsonConverter(typeof(JsonSubtypes), "event_type")] + [JsonSubtypes.FallBackSubType(typeof(EventUnrecognized))] [JsonSubtypes.KnownSubType(typeof(EventPhoneDeactivated), "phone.deactivated")] [JsonSubtypes.KnownSubType( typeof(EventEnrollmentAutomationDeleted), @@ -7647,4 +7648,38 @@ public override string ToString() return stringWriter.ToString(); } } + + [DataContract(Name = "seamModel_eventUnrecognized_model")] + public class EventUnrecognized : Event + { + [JsonConstructorAttribute] + protected EventUnrecognized() { } + + public EventUnrecognized(string eventType = default) + { + EventType = eventType; + } + + [DataMember(Name = "event_type", IsRequired = true, EmitDefaultValue = false)] + public override string EventType { get; } = "unrecognized"; + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } } diff --git a/output/csharp/src/Seam/Model/PhoneSession.cs b/output/csharp/src/Seam/Model/PhoneSession.cs index bdd0d2f..181ed13 100644 --- a/output/csharp/src/Seam/Model/PhoneSession.cs +++ b/output/csharp/src/Seam/Model/PhoneSession.cs @@ -220,6 +220,9 @@ public enum ExternalTypeEnum } [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType( + typeof(PhoneSessionProviderSessionsAcsCredentialsWarningsUnrecognized) + )] [JsonSubtypes.KnownSubType( typeof(PhoneSessionProviderSessionsAcsCredentialsWarningsNeedsToBeReissued), "needs_to_be_reissued" @@ -549,6 +552,50 @@ public override string ToString() } } + [DataContract( + Name = "seamModel_phoneSessionProviderSessionsAcsCredentialsWarningsUnrecognized_model" + )] + public class PhoneSessionProviderSessionsAcsCredentialsWarningsUnrecognized + : PhoneSessionProviderSessionsAcsCredentialsWarnings + { + [JsonConstructorAttribute] + protected PhoneSessionProviderSessionsAcsCredentialsWarningsUnrecognized() { } + + public PhoneSessionProviderSessionsAcsCredentialsWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "access_method", IsRequired = true, EmitDefaultValue = false)] public PhoneSessionProviderSessionsAcsCredentials.AccessMethodEnum AccessMethod { get; set; } @@ -1701,6 +1748,7 @@ public PhoneSessionUserIdentity( } [JsonConverter(typeof(JsonSubtypes), "error_code")] + [JsonSubtypes.FallBackSubType(typeof(PhoneSessionUserIdentityErrorsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(PhoneSessionUserIdentityErrorsIssueWithAcsUser), "issue_with_acs_user" @@ -1770,7 +1818,49 @@ public override string ToString() } } + [DataContract(Name = "seamModel_phoneSessionUserIdentityErrorsUnrecognized_model")] + public class PhoneSessionUserIdentityErrorsUnrecognized : PhoneSessionUserIdentityErrors + { + [JsonConstructorAttribute] + protected PhoneSessionUserIdentityErrorsUnrecognized() { } + + public PhoneSessionUserIdentityErrorsUnrecognized( + string errorCode = default, + string message = default + ) + { + ErrorCode = errorCode; + Message = message; + } + + [DataMember(Name = "error_code", IsRequired = true, EmitDefaultValue = false)] + public override string ErrorCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(PhoneSessionUserIdentityWarningsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(PhoneSessionUserIdentityWarningsAcsUserProfileDoesNotMatchUserIdentity), "acs_user_profile_does_not_match_user_identity" @@ -1884,6 +1974,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_phoneSessionUserIdentityWarningsUnrecognized_model")] + public class PhoneSessionUserIdentityWarningsUnrecognized : PhoneSessionUserIdentityWarnings + { + [JsonConstructorAttribute] + protected PhoneSessionUserIdentityWarningsUnrecognized() { } + + public PhoneSessionUserIdentityWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "acs_user_ids", IsRequired = true, EmitDefaultValue = false)] public List AcsUserIds { get; set; } diff --git a/output/csharp/src/Seam/Model/UnmanagedAccessCode.cs b/output/csharp/src/Seam/Model/UnmanagedAccessCode.cs index c192568..3be11fc 100644 --- a/output/csharp/src/Seam/Model/UnmanagedAccessCode.cs +++ b/output/csharp/src/Seam/Model/UnmanagedAccessCode.cs @@ -46,6 +46,7 @@ public UnmanagedAccessCode( } [JsonConverter(typeof(JsonSubtypes), "error_code")] + [JsonSubtypes.FallBackSubType(typeof(UnmanagedAccessCodeErrorsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(UnmanagedAccessCodeErrorsBridgeDisconnected), "bridge_disconnected" @@ -2396,6 +2397,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_unmanagedAccessCodeErrorsUnrecognized_model")] + public class UnmanagedAccessCodeErrorsUnrecognized : UnmanagedAccessCodeErrors + { + [JsonConstructorAttribute] + protected UnmanagedAccessCodeErrorsUnrecognized() { } + + public UnmanagedAccessCodeErrorsUnrecognized( + string errorCode = default, + string message = default + ) + { + ErrorCode = errorCode; + Message = message; + } + + [DataMember(Name = "error_code", IsRequired = true, EmitDefaultValue = false)] + public override string ErrorCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [JsonConverter(typeof(SafeStringEnumConverter))] public enum StatusEnum { @@ -2420,6 +2462,7 @@ public enum TypeEnum } [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(UnmanagedAccessCodeWarningsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(UnmanagedAccessCodeWarningsKwiksetUnableToConfirmCode), "kwikset_unable_to_confirm_code" @@ -3055,6 +3098,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_unmanagedAccessCodeWarningsUnrecognized_model")] + public class UnmanagedAccessCodeWarningsUnrecognized : UnmanagedAccessCodeWarnings + { + [JsonConstructorAttribute] + protected UnmanagedAccessCodeWarningsUnrecognized() { } + + public UnmanagedAccessCodeWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "access_code_id", IsRequired = true, EmitDefaultValue = false)] public string AccessCodeId { get; set; } diff --git a/output/csharp/src/Seam/Model/UnmanagedAcsCredential.cs b/output/csharp/src/Seam/Model/UnmanagedAcsCredential.cs index 6a46394..173c2ad 100644 --- a/output/csharp/src/Seam/Model/UnmanagedAcsCredential.cs +++ b/output/csharp/src/Seam/Model/UnmanagedAcsCredential.cs @@ -129,6 +129,7 @@ public enum ExternalTypeEnum } [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(UnmanagedAcsCredentialWarningsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(UnmanagedAcsCredentialWarningsNeedsToBeReissued), "needs_to_be_reissued" @@ -446,6 +447,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_unmanagedAcsCredentialWarningsUnrecognized_model")] + public class UnmanagedAcsCredentialWarningsUnrecognized : UnmanagedAcsCredentialWarnings + { + [JsonConstructorAttribute] + protected UnmanagedAcsCredentialWarningsUnrecognized() { } + + public UnmanagedAcsCredentialWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "access_method", IsRequired = true, EmitDefaultValue = false)] public UnmanagedAcsCredential.AccessMethodEnum AccessMethod { get; set; } diff --git a/output/csharp/src/Seam/Model/UnmanagedAcsUser.cs b/output/csharp/src/Seam/Model/UnmanagedAcsUser.cs index f6a3d2e..f696272 100644 --- a/output/csharp/src/Seam/Model/UnmanagedAcsUser.cs +++ b/output/csharp/src/Seam/Model/UnmanagedAcsUser.cs @@ -68,6 +68,7 @@ public UnmanagedAcsUser( } [JsonConverter(typeof(JsonSubtypes), "error_code")] + [JsonSubtypes.FallBackSubType(typeof(UnmanagedAcsUserErrorsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(UnmanagedAcsUserErrorsLatchConflictWithResidentUser), "latch_conflict_with_resident_user" @@ -379,6 +380,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_unmanagedAcsUserErrorsUnrecognized_model")] + public class UnmanagedAcsUserErrorsUnrecognized : UnmanagedAcsUserErrors + { + [JsonConstructorAttribute] + protected UnmanagedAcsUserErrorsUnrecognized() { } + + public UnmanagedAcsUserErrorsUnrecognized( + string errorCode = default, + string message = default + ) + { + ErrorCode = errorCode; + Message = message; + } + + [DataMember(Name = "error_code", IsRequired = true, EmitDefaultValue = false)] + public override string ErrorCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [JsonConverter(typeof(SafeStringEnumConverter))] public enum ExternalTypeEnum { @@ -408,6 +450,7 @@ public enum ExternalTypeEnum } [JsonConverter(typeof(JsonSubtypes), "mutation_code")] + [JsonSubtypes.FallBackSubType(typeof(UnmanagedAcsUserPendingMutationsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(UnmanagedAcsUserPendingMutationsUpdatingGroupMembership), "updating_group_membership" @@ -1095,7 +1138,42 @@ public override string ToString() } } + [DataContract(Name = "seamModel_unmanagedAcsUserPendingMutationsUnrecognized_model")] + public class UnmanagedAcsUserPendingMutationsUnrecognized : UnmanagedAcsUserPendingMutations + { + [JsonConstructorAttribute] + protected UnmanagedAcsUserPendingMutationsUnrecognized() { } + + public UnmanagedAcsUserPendingMutationsUnrecognized(string mutationCode = default) + { + MutationCode = mutationCode; + } + + [DataMember(Name = "mutation_code", IsRequired = true, EmitDefaultValue = false)] + public override string MutationCode { get; } = "unrecognized"; + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(UnmanagedAcsUserWarningsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(UnmanagedAcsUserWarningsLatchResidentUser), "latch_resident_user" @@ -1302,6 +1380,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_unmanagedAcsUserWarningsUnrecognized_model")] + public class UnmanagedAcsUserWarningsUnrecognized : UnmanagedAcsUserWarnings + { + [JsonConstructorAttribute] + protected UnmanagedAcsUserWarningsUnrecognized() { } + + public UnmanagedAcsUserWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "access_schedule", IsRequired = false, EmitDefaultValue = false)] public UnmanagedAcsUserAccessSchedule? AccessSchedule { get; set; } diff --git a/output/csharp/src/Seam/Model/UnmanagedDevice.cs b/output/csharp/src/Seam/Model/UnmanagedDevice.cs index acd8489..4b880e3 100644 --- a/output/csharp/src/Seam/Model/UnmanagedDevice.cs +++ b/output/csharp/src/Seam/Model/UnmanagedDevice.cs @@ -222,6 +222,7 @@ public enum DeviceTypeEnum } [JsonConverter(typeof(JsonSubtypes), "error_code")] + [JsonSubtypes.FallBackSubType(typeof(UnmanagedDeviceErrorsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(UnmanagedDeviceErrorsBridgeDisconnected), "bridge_disconnected" @@ -1143,7 +1144,49 @@ public override string ToString() } } + [DataContract(Name = "seamModel_unmanagedDeviceErrorsUnrecognized_model")] + public class UnmanagedDeviceErrorsUnrecognized : UnmanagedDeviceErrors + { + [JsonConstructorAttribute] + protected UnmanagedDeviceErrorsUnrecognized() { } + + public UnmanagedDeviceErrorsUnrecognized( + string errorCode = default, + string message = default + ) + { + ErrorCode = errorCode; + Message = message; + } + + [DataMember(Name = "error_code", IsRequired = true, EmitDefaultValue = false)] + public override string ErrorCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(UnmanagedDeviceWarningsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(UnmanagedDeviceWarningsLocklyTimeZoneNotConfigured), "lockly_time_zone_not_configured" @@ -2013,6 +2056,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_unmanagedDeviceWarningsUnrecognized_model")] + public class UnmanagedDeviceWarningsUnrecognized : UnmanagedDeviceWarnings + { + [JsonConstructorAttribute] + protected UnmanagedDeviceWarningsUnrecognized() { } + + public UnmanagedDeviceWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "can_hvac_cool", IsRequired = false, EmitDefaultValue = false)] public bool? CanHvacCool { get; set; } diff --git a/output/csharp/src/Seam/Model/UserIdentity.cs b/output/csharp/src/Seam/Model/UserIdentity.cs index b633d8d..a577bfe 100644 --- a/output/csharp/src/Seam/Model/UserIdentity.cs +++ b/output/csharp/src/Seam/Model/UserIdentity.cs @@ -42,6 +42,7 @@ public UserIdentity( } [JsonConverter(typeof(JsonSubtypes), "error_code")] + [JsonSubtypes.FallBackSubType(typeof(UserIdentityErrorsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(UserIdentityErrorsIssueWithAcsUser), "issue_with_acs_user" @@ -111,7 +112,49 @@ public override string ToString() } } + [DataContract(Name = "seamModel_userIdentityErrorsUnrecognized_model")] + public class UserIdentityErrorsUnrecognized : UserIdentityErrors + { + [JsonConstructorAttribute] + protected UserIdentityErrorsUnrecognized() { } + + public UserIdentityErrorsUnrecognized( + string errorCode = default, + string message = default + ) + { + ErrorCode = errorCode; + Message = message; + } + + [DataMember(Name = "error_code", IsRequired = true, EmitDefaultValue = false)] + public override string ErrorCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [JsonConverter(typeof(JsonSubtypes), "warning_code")] + [JsonSubtypes.FallBackSubType(typeof(UserIdentityWarningsUnrecognized))] [JsonSubtypes.KnownSubType( typeof(UserIdentityWarningsAcsUserProfileDoesNotMatchUserIdentity), "acs_user_profile_does_not_match_user_identity" @@ -222,6 +265,47 @@ public override string ToString() } } + [DataContract(Name = "seamModel_userIdentityWarningsUnrecognized_model")] + public class UserIdentityWarningsUnrecognized : UserIdentityWarnings + { + [JsonConstructorAttribute] + protected UserIdentityWarningsUnrecognized() { } + + public UserIdentityWarningsUnrecognized( + string warningCode = default, + string message = default + ) + { + WarningCode = warningCode; + Message = message; + } + + [DataMember(Name = "warning_code", IsRequired = true, EmitDefaultValue = false)] + public override string WarningCode { get; } = "unrecognized"; + + [DataMember(Name = "message", IsRequired = true, EmitDefaultValue = false)] + public override string Message { get; set; } + + public override string ToString() + { + JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(null); + + StringWriter stringWriter = new StringWriter( + new StringBuilder(256), + System.Globalization.CultureInfo.InvariantCulture + ); + using (JsonTextWriter jsonTextWriter = new JsonTextWriter(stringWriter)) + { + jsonTextWriter.IndentChar = ' '; + jsonTextWriter.Indentation = 2; + jsonTextWriter.Formatting = Formatting.Indented; + jsonSerializer.Serialize(jsonTextWriter, this, null); + } + + return stringWriter.ToString(); + } + } + [DataMember(Name = "acs_user_ids", IsRequired = true, EmitDefaultValue = false)] public List AcsUserIds { get; set; } diff --git a/output/csharp/src/Seam/Seam.csproj b/output/csharp/src/Seam/Seam.csproj index aa301ad..9fc57f1 100644 --- a/output/csharp/src/Seam/Seam.csproj +++ b/output/csharp/src/Seam/Seam.csproj @@ -7,7 +7,7 @@ Seam - 0.93.0 + 0.94.0 Seam diff --git a/package-lock.json b/package-lock.json index 63f0977..a5643a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.94.0", "license": "SEE LICENSE IN LICENSE.txt", "devDependencies": { - "@seamapi/nextlove-sdk-generator": "^1.19.0", + "@seamapi/nextlove-sdk-generator": "^1.19.1", "@seamapi/types": "1.556.0", "@types/node": "^18.19.11", "ava": "^5.0.1", @@ -754,9 +754,9 @@ } }, "node_modules/@seamapi/nextlove-sdk-generator": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@seamapi/nextlove-sdk-generator/-/nextlove-sdk-generator-1.19.0.tgz", - "integrity": "sha512-TbIJkUpPHnqZwTrdB4KfW3t8YumQK3uN8cc2ID2ynUuUSh/WG+VdnG4C1UHiGIX83cuFT3hgkwLsRfRjH34mEw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@seamapi/nextlove-sdk-generator/-/nextlove-sdk-generator-1.19.1.tgz", + "integrity": "sha512-6uh6LBthvJ8y4uAOC54NZLixtOacY/+K+rEK2O94TnWdr/GFfCT+x2vMxt7sp2D73+EV7yYjvmDM5AIiKH10lQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 83df142..b5d11f9 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "npm": ">= 8.1.0" }, "devDependencies": { - "@seamapi/nextlove-sdk-generator": "^1.19.0", + "@seamapi/nextlove-sdk-generator": "^1.19.1", "@seamapi/types": "1.556.0", "@types/node": "^18.19.11", "ava": "^5.0.1",