From acdd2e556b6aaea2d64fb1a424459400de65393f Mon Sep 17 00:00:00 2001 From: Andrii Balitskyi <10balian10@gmail.com> Date: Wed, 8 Jan 2025 18:31:42 +0100 Subject: [PATCH 1/2] Bump SDK generator to 1.15.3 to add missing API methods --- package-lock.json | 9 +++++---- package.json | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 03e738d..2abed5a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.21.0", "license": "SEE LICENSE IN LICENSE.txt", "devDependencies": { - "@seamapi/nextlove-sdk-generator": "^1.15.0", + "@seamapi/nextlove-sdk-generator": "^1.15.3", "@seamapi/types": "^1.327.0", "@types/node": "^18.19.11", "ava": "^5.0.1", @@ -754,10 +754,11 @@ } }, "node_modules/@seamapi/nextlove-sdk-generator": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@seamapi/nextlove-sdk-generator/-/nextlove-sdk-generator-1.15.0.tgz", - "integrity": "sha512-49r2ZFyt1pySLhR5GHXLs426VKxOZ9GlinEGE6zpE51HPcopzplbnKLOV69/03w7OQMxBeUXOUoz+2C0tZXMPA==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@seamapi/nextlove-sdk-generator/-/nextlove-sdk-generator-1.15.3.tgz", + "integrity": "sha512-t4j3h/LZ8hrZ0hlcLLump22qrSdirCqDosPW0p5vxQ5pY2USfyhB6ABGOOSWwiJCHMdPHEwICXvxavl7MXxjLA==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.walk": "^2.0.0", "axios": "^1.5.0", diff --git a/package.json b/package.json index f9d5004..caadfa9 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "npm": ">= 8.1.0" }, "devDependencies": { - "@seamapi/nextlove-sdk-generator": "^1.15.0", + "@seamapi/nextlove-sdk-generator": "^1.15.3", "@seamapi/types": "^1.327.0", "@types/node": "^18.19.11", "ava": "^5.0.1", From 9fd7e926f60eeeef9e18a1257d82f41e71e39589 Mon Sep 17 00:00:00 2001 From: Seam Bot Date: Wed, 8 Jan 2025 17:32:21 +0000 Subject: [PATCH 2/2] ci: Generate code --- output/csharp/src/Seam/Api/AccessCodes.cs | 378 ++++++++++++++++++ output/csharp/src/Seam/Api/ClientSessions.cs | 112 ++++++ .../csharp/src/Seam/Api/ConnectedAccounts.cs | 94 +++++ output/csharp/src/Seam/Api/CredentialsAcs.cs | 211 ++++++++++ .../Seam/Api/NoiseThresholdsNoiseSensors.cs | 229 +++++++++++ .../src/Seam/Api/UnmanagedAccessCodes.cs | 62 +++ output/csharp/src/Seam/Seam.csproj | 2 +- 7 files changed, 1087 insertions(+), 1 deletion(-) diff --git a/output/csharp/src/Seam/Api/AccessCodes.cs b/output/csharp/src/Seam/Api/AccessCodes.cs index cfc5a73..db1a899 100644 --- a/output/csharp/src/Seam/Api/AccessCodes.cs +++ b/output/csharp/src/Seam/Api/AccessCodes.cs @@ -648,6 +648,86 @@ await CreateMultipleAsync( ); } + [DataContract(Name = "deleteRequest_request")] + public class DeleteRequest + { + [JsonConstructorAttribute] + protected DeleteRequest() { } + + public DeleteRequest( + string accessCodeId = default, + string? deviceId = default, + bool? sync = default + ) + { + AccessCodeId = accessCodeId; + DeviceId = deviceId; + Sync = sync; + } + + [DataMember(Name = "access_code_id", IsRequired = true, EmitDefaultValue = false)] + public string AccessCodeId { get; set; } + + [DataMember(Name = "device_id", IsRequired = false, EmitDefaultValue = false)] + public string? DeviceId { get; set; } + + [DataMember(Name = "sync", IsRequired = false, EmitDefaultValue = false)] + public bool? Sync { 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(); + } + } + + public void Delete(DeleteRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + _seam.Post("/access_codes/delete", requestOptions); + } + + public void Delete( + string accessCodeId = default, + string? deviceId = default, + bool? sync = default + ) + { + Delete(new DeleteRequest(accessCodeId: accessCodeId, deviceId: deviceId, sync: sync)); + } + + public async Task DeleteAsync(DeleteRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + await _seam.PostAsync("/access_codes/delete", requestOptions); + } + + public async Task DeleteAsync( + string accessCodeId = default, + string? deviceId = default, + bool? sync = default + ) + { + await DeleteAsync( + new DeleteRequest(accessCodeId: accessCodeId, deviceId: deviceId, sync: sync) + ); + } + [DataContract(Name = "generateCodeRequest_request")] public class GenerateCodeRequest { @@ -1105,6 +1185,304 @@ await PullBackupAccessCodeAsync( ); } + [DataContract(Name = "updateRequest_request")] + public class UpdateRequest + { + [JsonConstructorAttribute] + protected UpdateRequest() { } + + public UpdateRequest( + string accessCodeId = default, + bool? allowExternalModification = default, + bool? attemptForOfflineDevice = default, + string? code = default, + string? deviceId = default, + string? endsAt = default, + bool? isExternalModificationAllowed = default, + bool? isManaged = default, + bool? isOfflineAccessCode = default, + bool? isOneTimeUse = default, + UpdateRequest.MaxTimeRoundingEnum? maxTimeRounding = default, + string? name = default, + bool? preferNativeScheduling = default, + float? preferredCodeLength = default, + string? startsAt = default, + bool? sync = default, + UpdateRequest.TypeEnum? type = default, + bool? useBackupAccessCodePool = default, + bool? useOfflineAccessCode = default + ) + { + AccessCodeId = accessCodeId; + AllowExternalModification = allowExternalModification; + AttemptForOfflineDevice = attemptForOfflineDevice; + Code = code; + DeviceId = deviceId; + EndsAt = endsAt; + IsExternalModificationAllowed = isExternalModificationAllowed; + IsManaged = isManaged; + IsOfflineAccessCode = isOfflineAccessCode; + IsOneTimeUse = isOneTimeUse; + MaxTimeRounding = maxTimeRounding; + Name = name; + PreferNativeScheduling = preferNativeScheduling; + PreferredCodeLength = preferredCodeLength; + StartsAt = startsAt; + Sync = sync; + Type = type; + UseBackupAccessCodePool = useBackupAccessCodePool; + UseOfflineAccessCode = useOfflineAccessCode; + } + + [JsonConverter(typeof(SafeStringEnumConverter))] + public enum MaxTimeRoundingEnum + { + [EnumMember(Value = "unrecognized")] + Unrecognized = 0, + + [EnumMember(Value = "1hour")] + _1hour = 1, + + [EnumMember(Value = "1day")] + _1day = 2, + + [EnumMember(Value = "1h")] + _1h = 3, + + [EnumMember(Value = "1d")] + _1d = 4, + } + + [JsonConverter(typeof(SafeStringEnumConverter))] + public enum TypeEnum + { + [EnumMember(Value = "unrecognized")] + Unrecognized = 0, + + [EnumMember(Value = "ongoing")] + Ongoing = 1, + + [EnumMember(Value = "time_bound")] + TimeBound = 2, + } + + [DataMember(Name = "access_code_id", IsRequired = true, EmitDefaultValue = false)] + public string AccessCodeId { get; set; } + + [DataMember( + Name = "allow_external_modification", + IsRequired = false, + EmitDefaultValue = false + )] + public bool? AllowExternalModification { get; set; } + + [DataMember( + Name = "attempt_for_offline_device", + IsRequired = false, + EmitDefaultValue = false + )] + public bool? AttemptForOfflineDevice { get; set; } + + [DataMember(Name = "code", IsRequired = false, EmitDefaultValue = false)] + public string? Code { get; set; } + + [DataMember(Name = "device_id", IsRequired = false, EmitDefaultValue = false)] + public string? DeviceId { get; set; } + + [DataMember(Name = "ends_at", IsRequired = false, EmitDefaultValue = false)] + public string? EndsAt { get; set; } + + [DataMember( + Name = "is_external_modification_allowed", + IsRequired = false, + EmitDefaultValue = false + )] + public bool? IsExternalModificationAllowed { get; set; } + + [DataMember(Name = "is_managed", IsRequired = false, EmitDefaultValue = false)] + public bool? IsManaged { get; set; } + + [DataMember( + Name = "is_offline_access_code", + IsRequired = false, + EmitDefaultValue = false + )] + public bool? IsOfflineAccessCode { get; set; } + + [DataMember(Name = "is_one_time_use", IsRequired = false, EmitDefaultValue = false)] + public bool? IsOneTimeUse { get; set; } + + [DataMember(Name = "max_time_rounding", IsRequired = false, EmitDefaultValue = false)] + public UpdateRequest.MaxTimeRoundingEnum? MaxTimeRounding { get; set; } + + [DataMember(Name = "name", IsRequired = false, EmitDefaultValue = false)] + public string? Name { get; set; } + + [DataMember( + Name = "prefer_native_scheduling", + IsRequired = false, + EmitDefaultValue = false + )] + public bool? PreferNativeScheduling { get; set; } + + [DataMember( + Name = "preferred_code_length", + IsRequired = false, + EmitDefaultValue = false + )] + public float? PreferredCodeLength { get; set; } + + [DataMember(Name = "starts_at", IsRequired = false, EmitDefaultValue = false)] + public string? StartsAt { get; set; } + + [DataMember(Name = "sync", IsRequired = false, EmitDefaultValue = false)] + public bool? Sync { get; set; } + + [DataMember(Name = "type", IsRequired = false, EmitDefaultValue = false)] + public UpdateRequest.TypeEnum? Type { get; set; } + + [DataMember( + Name = "use_backup_access_code_pool", + IsRequired = false, + EmitDefaultValue = false + )] + public bool? UseBackupAccessCodePool { get; set; } + + [DataMember( + Name = "use_offline_access_code", + IsRequired = false, + EmitDefaultValue = false + )] + public bool? UseOfflineAccessCode { 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(); + } + } + + public void Update(UpdateRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + _seam.Post("/access_codes/update", requestOptions); + } + + public void Update( + string accessCodeId = default, + bool? allowExternalModification = default, + bool? attemptForOfflineDevice = default, + string? code = default, + string? deviceId = default, + string? endsAt = default, + bool? isExternalModificationAllowed = default, + bool? isManaged = default, + bool? isOfflineAccessCode = default, + bool? isOneTimeUse = default, + UpdateRequest.MaxTimeRoundingEnum? maxTimeRounding = default, + string? name = default, + bool? preferNativeScheduling = default, + float? preferredCodeLength = default, + string? startsAt = default, + bool? sync = default, + UpdateRequest.TypeEnum? type = default, + bool? useBackupAccessCodePool = default, + bool? useOfflineAccessCode = default + ) + { + Update( + new UpdateRequest( + accessCodeId: accessCodeId, + allowExternalModification: allowExternalModification, + attemptForOfflineDevice: attemptForOfflineDevice, + code: code, + deviceId: deviceId, + endsAt: endsAt, + isExternalModificationAllowed: isExternalModificationAllowed, + isManaged: isManaged, + isOfflineAccessCode: isOfflineAccessCode, + isOneTimeUse: isOneTimeUse, + maxTimeRounding: maxTimeRounding, + name: name, + preferNativeScheduling: preferNativeScheduling, + preferredCodeLength: preferredCodeLength, + startsAt: startsAt, + sync: sync, + type: type, + useBackupAccessCodePool: useBackupAccessCodePool, + useOfflineAccessCode: useOfflineAccessCode + ) + ); + } + + public async Task UpdateAsync(UpdateRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + await _seam.PostAsync("/access_codes/update", requestOptions); + } + + public async Task UpdateAsync( + string accessCodeId = default, + bool? allowExternalModification = default, + bool? attemptForOfflineDevice = default, + string? code = default, + string? deviceId = default, + string? endsAt = default, + bool? isExternalModificationAllowed = default, + bool? isManaged = default, + bool? isOfflineAccessCode = default, + bool? isOneTimeUse = default, + UpdateRequest.MaxTimeRoundingEnum? maxTimeRounding = default, + string? name = default, + bool? preferNativeScheduling = default, + float? preferredCodeLength = default, + string? startsAt = default, + bool? sync = default, + UpdateRequest.TypeEnum? type = default, + bool? useBackupAccessCodePool = default, + bool? useOfflineAccessCode = default + ) + { + await UpdateAsync( + new UpdateRequest( + accessCodeId: accessCodeId, + allowExternalModification: allowExternalModification, + attemptForOfflineDevice: attemptForOfflineDevice, + code: code, + deviceId: deviceId, + endsAt: endsAt, + isExternalModificationAllowed: isExternalModificationAllowed, + isManaged: isManaged, + isOfflineAccessCode: isOfflineAccessCode, + isOneTimeUse: isOneTimeUse, + maxTimeRounding: maxTimeRounding, + name: name, + preferNativeScheduling: preferNativeScheduling, + preferredCodeLength: preferredCodeLength, + startsAt: startsAt, + sync: sync, + type: type, + useBackupAccessCodePool: useBackupAccessCodePool, + useOfflineAccessCode: useOfflineAccessCode + ) + ); + } + [DataContract(Name = "updateMultipleRequest_request")] public class UpdateMultipleRequest { diff --git a/output/csharp/src/Seam/Api/ClientSessions.cs b/output/csharp/src/Seam/Api/ClientSessions.cs index f1674ef..e7dff5a 100644 --- a/output/csharp/src/Seam/Api/ClientSessions.cs +++ b/output/csharp/src/Seam/Api/ClientSessions.cs @@ -508,6 +508,118 @@ await GetOrCreateAsync( ); } + [DataContract(Name = "grantAccessRequest_request")] + public class GrantAccessRequest + { + [JsonConstructorAttribute] + protected GrantAccessRequest() { } + + public GrantAccessRequest( + string? clientSessionId = default, + List? connectWebviewIds = default, + List? connectedAccountIds = default, + string? userIdentifierKey = default, + List? userIdentityIds = default + ) + { + ClientSessionId = clientSessionId; + ConnectWebviewIds = connectWebviewIds; + ConnectedAccountIds = connectedAccountIds; + UserIdentifierKey = userIdentifierKey; + UserIdentityIds = userIdentityIds; + } + + [DataMember(Name = "client_session_id", IsRequired = false, EmitDefaultValue = false)] + public string? ClientSessionId { get; set; } + + [DataMember(Name = "connect_webview_ids", IsRequired = false, EmitDefaultValue = false)] + public List? ConnectWebviewIds { get; set; } + + [DataMember( + Name = "connected_account_ids", + IsRequired = false, + EmitDefaultValue = false + )] + public List? ConnectedAccountIds { get; set; } + + [DataMember(Name = "user_identifier_key", IsRequired = false, EmitDefaultValue = false)] + public string? UserIdentifierKey { get; set; } + + [DataMember(Name = "user_identity_ids", IsRequired = false, EmitDefaultValue = false)] + public List? UserIdentityIds { 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(); + } + } + + public void GrantAccess(GrantAccessRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + _seam.Post("/client_sessions/grant_access", requestOptions); + } + + public void GrantAccess( + string? clientSessionId = default, + List? connectWebviewIds = default, + List? connectedAccountIds = default, + string? userIdentifierKey = default, + List? userIdentityIds = default + ) + { + GrantAccess( + new GrantAccessRequest( + clientSessionId: clientSessionId, + connectWebviewIds: connectWebviewIds, + connectedAccountIds: connectedAccountIds, + userIdentifierKey: userIdentifierKey, + userIdentityIds: userIdentityIds + ) + ); + } + + public async Task GrantAccessAsync(GrantAccessRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + await _seam.PostAsync("/client_sessions/grant_access", requestOptions); + } + + public async Task GrantAccessAsync( + string? clientSessionId = default, + List? connectWebviewIds = default, + List? connectedAccountIds = default, + string? userIdentifierKey = default, + List? userIdentityIds = default + ) + { + await GrantAccessAsync( + new GrantAccessRequest( + clientSessionId: clientSessionId, + connectWebviewIds: connectWebviewIds, + connectedAccountIds: connectedAccountIds, + userIdentifierKey: userIdentifierKey, + userIdentityIds: userIdentityIds + ) + ); + } + [DataContract(Name = "listRequest_request")] public class ListRequest { diff --git a/output/csharp/src/Seam/Api/ConnectedAccounts.cs b/output/csharp/src/Seam/Api/ConnectedAccounts.cs index 7f134d7..6ec37a4 100644 --- a/output/csharp/src/Seam/Api/ConnectedAccounts.cs +++ b/output/csharp/src/Seam/Api/ConnectedAccounts.cs @@ -311,6 +311,100 @@ await ListAsync( ) ); } + + [DataContract(Name = "updateRequest_request")] + public class UpdateRequest + { + [JsonConstructorAttribute] + protected UpdateRequest() { } + + public UpdateRequest( + bool? automaticallyManageNewDevices = default, + string connectedAccountId = default, + object? customMetadata = default + ) + { + AutomaticallyManageNewDevices = automaticallyManageNewDevices; + ConnectedAccountId = connectedAccountId; + CustomMetadata = customMetadata; + } + + [DataMember( + Name = "automatically_manage_new_devices", + IsRequired = false, + EmitDefaultValue = false + )] + public bool? AutomaticallyManageNewDevices { get; set; } + + [DataMember(Name = "connected_account_id", IsRequired = true, EmitDefaultValue = false)] + public string ConnectedAccountId { get; set; } + + [DataMember(Name = "custom_metadata", IsRequired = false, EmitDefaultValue = false)] + public object? CustomMetadata { 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(); + } + } + + public void Update(UpdateRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + _seam.Post("/connected_accounts/update", requestOptions); + } + + public void Update( + bool? automaticallyManageNewDevices = default, + string connectedAccountId = default, + object? customMetadata = default + ) + { + Update( + new UpdateRequest( + automaticallyManageNewDevices: automaticallyManageNewDevices, + connectedAccountId: connectedAccountId, + customMetadata: customMetadata + ) + ); + } + + public async Task UpdateAsync(UpdateRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + await _seam.PostAsync("/connected_accounts/update", requestOptions); + } + + public async Task UpdateAsync( + bool? automaticallyManageNewDevices = default, + string connectedAccountId = default, + object? customMetadata = default + ) + { + await UpdateAsync( + new UpdateRequest( + automaticallyManageNewDevices: automaticallyManageNewDevices, + connectedAccountId: connectedAccountId, + customMetadata: customMetadata + ) + ); + } } } diff --git a/output/csharp/src/Seam/Api/CredentialsAcs.cs b/output/csharp/src/Seam/Api/CredentialsAcs.cs index 375b643..cad9a40 100644 --- a/output/csharp/src/Seam/Api/CredentialsAcs.cs +++ b/output/csharp/src/Seam/Api/CredentialsAcs.cs @@ -18,6 +18,70 @@ public CredentialsAcs(ISeamClient seam) _seam = seam; } + [DataContract(Name = "assignRequest_request")] + public class AssignRequest + { + [JsonConstructorAttribute] + protected AssignRequest() { } + + public AssignRequest(string acsCredentialId = default, string acsUserId = default) + { + AcsCredentialId = acsCredentialId; + AcsUserId = acsUserId; + } + + [DataMember(Name = "acs_credential_id", IsRequired = true, EmitDefaultValue = false)] + public string AcsCredentialId { get; set; } + + [DataMember(Name = "acs_user_id", IsRequired = true, EmitDefaultValue = false)] + public string AcsUserId { 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(); + } + } + + public void Assign(AssignRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + _seam.Post("/acs/credentials/assign", requestOptions); + } + + public void Assign(string acsCredentialId = default, string acsUserId = default) + { + Assign(new AssignRequest(acsCredentialId: acsCredentialId, acsUserId: acsUserId)); + } + + public async Task AssignAsync(AssignRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + await _seam.PostAsync("/acs/credentials/assign", requestOptions); + } + + public async Task AssignAsync(string acsCredentialId = default, string acsUserId = default) + { + await AssignAsync( + new AssignRequest(acsCredentialId: acsCredentialId, acsUserId: acsUserId) + ); + } + [DataContract(Name = "createRequest_request")] public class CreateRequest { @@ -1046,6 +1110,153 @@ await ListAccessibleEntrancesAsync( ) ); } + + [DataContract(Name = "unassignRequest_request")] + public class UnassignRequest + { + [JsonConstructorAttribute] + protected UnassignRequest() { } + + public UnassignRequest(string acsCredentialId = default, string acsUserId = default) + { + AcsCredentialId = acsCredentialId; + AcsUserId = acsUserId; + } + + [DataMember(Name = "acs_credential_id", IsRequired = true, EmitDefaultValue = false)] + public string AcsCredentialId { get; set; } + + [DataMember(Name = "acs_user_id", IsRequired = true, EmitDefaultValue = false)] + public string AcsUserId { 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(); + } + } + + public void Unassign(UnassignRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + _seam.Post("/acs/credentials/unassign", requestOptions); + } + + public void Unassign(string acsCredentialId = default, string acsUserId = default) + { + Unassign(new UnassignRequest(acsCredentialId: acsCredentialId, acsUserId: acsUserId)); + } + + public async Task UnassignAsync(UnassignRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + await _seam.PostAsync("/acs/credentials/unassign", requestOptions); + } + + public async Task UnassignAsync( + string acsCredentialId = default, + string acsUserId = default + ) + { + await UnassignAsync( + new UnassignRequest(acsCredentialId: acsCredentialId, acsUserId: acsUserId) + ); + } + + [DataContract(Name = "updateRequest_request")] + public class UpdateRequest + { + [JsonConstructorAttribute] + protected UpdateRequest() { } + + public UpdateRequest( + string acsCredentialId = default, + string? code = default, + string? endsAt = default + ) + { + AcsCredentialId = acsCredentialId; + Code = code; + EndsAt = endsAt; + } + + [DataMember(Name = "acs_credential_id", IsRequired = true, EmitDefaultValue = false)] + public string AcsCredentialId { get; set; } + + [DataMember(Name = "code", IsRequired = false, EmitDefaultValue = false)] + public string? Code { get; set; } + + [DataMember(Name = "ends_at", IsRequired = false, EmitDefaultValue = false)] + public string? EndsAt { 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(); + } + } + + public void Update(UpdateRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + _seam.Post("/acs/credentials/update", requestOptions); + } + + public void Update( + string acsCredentialId = default, + string? code = default, + string? endsAt = default + ) + { + Update(new UpdateRequest(acsCredentialId: acsCredentialId, code: code, endsAt: endsAt)); + } + + public async Task UpdateAsync(UpdateRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + await _seam.PostAsync("/acs/credentials/update", requestOptions); + } + + public async Task UpdateAsync( + string acsCredentialId = default, + string? code = default, + string? endsAt = default + ) + { + await UpdateAsync( + new UpdateRequest(acsCredentialId: acsCredentialId, code: code, endsAt: endsAt) + ); + } } } diff --git a/output/csharp/src/Seam/Api/NoiseThresholdsNoiseSensors.cs b/output/csharp/src/Seam/Api/NoiseThresholdsNoiseSensors.cs index e762e16..2064b78 100644 --- a/output/csharp/src/Seam/Api/NoiseThresholdsNoiseSensors.cs +++ b/output/csharp/src/Seam/Api/NoiseThresholdsNoiseSensors.cs @@ -193,6 +193,96 @@ await CreateAsync( ); } + [DataContract(Name = "deleteRequest_request")] + public class DeleteRequest + { + [JsonConstructorAttribute] + protected DeleteRequest() { } + + public DeleteRequest( + string deviceId = default, + string noiseThresholdId = default, + bool? sync = default + ) + { + DeviceId = deviceId; + NoiseThresholdId = noiseThresholdId; + Sync = sync; + } + + [DataMember(Name = "device_id", IsRequired = true, EmitDefaultValue = false)] + public string DeviceId { get; set; } + + [DataMember(Name = "noise_threshold_id", IsRequired = true, EmitDefaultValue = false)] + public string NoiseThresholdId { get; set; } + + [DataMember(Name = "sync", IsRequired = false, EmitDefaultValue = false)] + public bool? Sync { 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(); + } + } + + public void Delete(DeleteRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + _seam.Post("/noise_sensors/noise_thresholds/delete", requestOptions); + } + + public void Delete( + string deviceId = default, + string noiseThresholdId = default, + bool? sync = default + ) + { + Delete( + new DeleteRequest( + deviceId: deviceId, + noiseThresholdId: noiseThresholdId, + sync: sync + ) + ); + } + + public async Task DeleteAsync(DeleteRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + await _seam.PostAsync("/noise_sensors/noise_thresholds/delete", requestOptions); + } + + public async Task DeleteAsync( + string deviceId = default, + string noiseThresholdId = default, + bool? sync = default + ) + { + await DeleteAsync( + new DeleteRequest( + deviceId: deviceId, + noiseThresholdId: noiseThresholdId, + sync: sync + ) + ); + } + [DataContract(Name = "getRequest_request")] public class GetRequest { @@ -403,6 +493,145 @@ public async Task> ListAsync( await ListAsync(new ListRequest(deviceId: deviceId, isProgrammed: isProgrammed)) ); } + + [DataContract(Name = "updateRequest_request")] + public class UpdateRequest + { + [JsonConstructorAttribute] + protected UpdateRequest() { } + + public UpdateRequest( + string deviceId = default, + string? endsDailyAt = default, + string? name = default, + float? noiseThresholdDecibels = default, + string noiseThresholdId = default, + float? noiseThresholdNrs = default, + string? startsDailyAt = default, + bool? sync = default + ) + { + DeviceId = deviceId; + EndsDailyAt = endsDailyAt; + Name = name; + NoiseThresholdDecibels = noiseThresholdDecibels; + NoiseThresholdId = noiseThresholdId; + NoiseThresholdNrs = noiseThresholdNrs; + StartsDailyAt = startsDailyAt; + Sync = sync; + } + + [DataMember(Name = "device_id", IsRequired = true, EmitDefaultValue = false)] + public string DeviceId { get; set; } + + [DataMember(Name = "ends_daily_at", IsRequired = false, EmitDefaultValue = false)] + public string? EndsDailyAt { get; set; } + + [DataMember(Name = "name", IsRequired = false, EmitDefaultValue = false)] + public string? Name { get; set; } + + [DataMember( + Name = "noise_threshold_decibels", + IsRequired = false, + EmitDefaultValue = false + )] + public float? NoiseThresholdDecibels { get; set; } + + [DataMember(Name = "noise_threshold_id", IsRequired = true, EmitDefaultValue = false)] + public string NoiseThresholdId { get; set; } + + [DataMember(Name = "noise_threshold_nrs", IsRequired = false, EmitDefaultValue = false)] + public float? NoiseThresholdNrs { get; set; } + + [DataMember(Name = "starts_daily_at", IsRequired = false, EmitDefaultValue = false)] + public string? StartsDailyAt { get; set; } + + [DataMember(Name = "sync", IsRequired = false, EmitDefaultValue = false)] + public bool? Sync { 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(); + } + } + + public void Update(UpdateRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + _seam.Post("/noise_sensors/noise_thresholds/update", requestOptions); + } + + public void Update( + string deviceId = default, + string? endsDailyAt = default, + string? name = default, + float? noiseThresholdDecibels = default, + string noiseThresholdId = default, + float? noiseThresholdNrs = default, + string? startsDailyAt = default, + bool? sync = default + ) + { + Update( + new UpdateRequest( + deviceId: deviceId, + endsDailyAt: endsDailyAt, + name: name, + noiseThresholdDecibels: noiseThresholdDecibels, + noiseThresholdId: noiseThresholdId, + noiseThresholdNrs: noiseThresholdNrs, + startsDailyAt: startsDailyAt, + sync: sync + ) + ); + } + + public async Task UpdateAsync(UpdateRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + await _seam.PostAsync("/noise_sensors/noise_thresholds/update", requestOptions); + } + + public async Task UpdateAsync( + string deviceId = default, + string? endsDailyAt = default, + string? name = default, + float? noiseThresholdDecibels = default, + string noiseThresholdId = default, + float? noiseThresholdNrs = default, + string? startsDailyAt = default, + bool? sync = default + ) + { + await UpdateAsync( + new UpdateRequest( + deviceId: deviceId, + endsDailyAt: endsDailyAt, + name: name, + noiseThresholdDecibels: noiseThresholdDecibels, + noiseThresholdId: noiseThresholdId, + noiseThresholdNrs: noiseThresholdNrs, + startsDailyAt: startsDailyAt, + sync: sync + ) + ); + } } } diff --git a/output/csharp/src/Seam/Api/UnmanagedAccessCodes.cs b/output/csharp/src/Seam/Api/UnmanagedAccessCodes.cs index 36e796d..aadb6b5 100644 --- a/output/csharp/src/Seam/Api/UnmanagedAccessCodes.cs +++ b/output/csharp/src/Seam/Api/UnmanagedAccessCodes.cs @@ -137,6 +137,68 @@ await ConvertToManagedAsync( ); } + [DataContract(Name = "deleteRequest_request")] + public class DeleteRequest + { + [JsonConstructorAttribute] + protected DeleteRequest() { } + + public DeleteRequest(string accessCodeId = default, bool? sync = default) + { + AccessCodeId = accessCodeId; + Sync = sync; + } + + [DataMember(Name = "access_code_id", IsRequired = true, EmitDefaultValue = false)] + public string AccessCodeId { get; set; } + + [DataMember(Name = "sync", IsRequired = false, EmitDefaultValue = false)] + public bool? Sync { 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(); + } + } + + public void Delete(DeleteRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + _seam.Post("/access_codes/unmanaged/delete", requestOptions); + } + + public void Delete(string accessCodeId = default, bool? sync = default) + { + Delete(new DeleteRequest(accessCodeId: accessCodeId, sync: sync)); + } + + public async Task DeleteAsync(DeleteRequest request) + { + var requestOptions = new RequestOptions(); + requestOptions.Data = request; + await _seam.PostAsync("/access_codes/unmanaged/delete", requestOptions); + } + + public async Task DeleteAsync(string accessCodeId = default, bool? sync = default) + { + await DeleteAsync(new DeleteRequest(accessCodeId: accessCodeId, sync: sync)); + } + [DataContract(Name = "getRequest_request")] public class GetRequest { diff --git a/output/csharp/src/Seam/Seam.csproj b/output/csharp/src/Seam/Seam.csproj index 29f980a..c19a189 100644 --- a/output/csharp/src/Seam/Seam.csproj +++ b/output/csharp/src/Seam/Seam.csproj @@ -7,7 +7,7 @@ Seam - 0.20.0 + 0.21.0 Seam