From 651d4bc522f3bee82aa1020f909345a09a376ecc Mon Sep 17 00:00:00 2001 From: Asimakis Ant Date: Tue, 12 May 2026 00:27:42 +0200 Subject: [PATCH 1/2] NXC-216: Add UpdateCustomer Method --- .../Models/Customer/CustomerModel.cs | 38 +++++++++++++++++++ src/Nexus.Crypto.SDK/Services/BaseService.cs | 4 +- .../Services/CustomerService.cs | 10 ++++- .../Services/ICustomerService.cs | 1 + .../NexusLabelApiSdkTests.cs | 2 +- 5 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/Nexus.Crypto.SDK/Models/Customer/CustomerModel.cs b/src/Nexus.Crypto.SDK/Models/Customer/CustomerModel.cs index b82c09d..ed4efa7 100644 --- a/src/Nexus.Crypto.SDK/Models/Customer/CustomerModel.cs +++ b/src/Nexus.Crypto.SDK/Models/Customer/CustomerModel.cs @@ -63,4 +63,42 @@ public class DeleteAccountResponse { public string AccountCode { get; set; } public string AccountStatus { get; set; } +} + +public class UpdateCustomerRequest +{ + public string? TrustLevelCode { get; set; } + public string? Email { get; set; } + public string Name { get; set; } + public string FirstName { get; set; } + public string LastName { get; set; } + public string Phone { get; set; } + public string DateOfBirth { get; set; } + public string CompanyName { get; set; } + public string Address { get; set; } + public string City { get; set; } + public string ZipCode { get; set; } + public string State { get; set; } + public string Tag { get; set; } + public string? Status { get; set; } + public string CountryCode { get; set; } + public RiskQualificationEnum? RiskQualification { get; set; } + public DateTime? LatestReview { get; set; } + public bool? IsReviewRecommended { get; set; } + public string? Comment { get; set; } + public string Reason { get; set; } + public IDictionary Data { get; set; } + public string[] FieldsToClear { get; set; } + + public int? CurrencyId { get; set; } + public bool? IsBusiness { get; set; } +} + +public enum RiskQualificationEnum +{ + None, + Low, + Medium, + High, + VeryHigh } \ No newline at end of file diff --git a/src/Nexus.Crypto.SDK/Services/BaseService.cs b/src/Nexus.Crypto.SDK/Services/BaseService.cs index ed0a6be..1208d42 100644 --- a/src/Nexus.Crypto.SDK/Services/BaseService.cs +++ b/src/Nexus.Crypto.SDK/Services/BaseService.cs @@ -93,7 +93,7 @@ public async Task PostAsync(string endPoint, TInpu { var client = await GetApiClient(apiVersion); - var httpResponse = await client.PostAsJsonAsync(endPoint, postObject); + var httpResponse = await client.PostAsJsonAsync(endPoint, postObject, _serializerOptions); if (!httpResponse.IsSuccessStatusCode) { @@ -112,7 +112,7 @@ public async Task PutAsync(string endPoint, TInput { var client = await GetApiClient(apiVersion); - var httpResponse = await client.PutAsJsonAsync(endPoint, postObject); + var httpResponse = await client.PutAsJsonAsync(endPoint, postObject, _serializerOptions); if (!httpResponse.IsSuccessStatusCode) { diff --git a/src/Nexus.Crypto.SDK/Services/CustomerService.cs b/src/Nexus.Crypto.SDK/Services/CustomerService.cs index 35db24e..ac66367 100644 --- a/src/Nexus.Crypto.SDK/Services/CustomerService.cs +++ b/src/Nexus.Crypto.SDK/Services/CustomerService.cs @@ -46,5 +46,13 @@ public async Task> DeleteCustomer(str { return await DeleteAsync>($"customer/{customerCode}", ApiVersion); } - + + public async Task> UpdateCustomer(string customerCode, + UpdateCustomerRequest request) + { + return await PutAsync>( + $"customer/{customerCode}", + request, + ApiVersion); + } } \ No newline at end of file diff --git a/src/Nexus.Crypto.SDK/Services/ICustomerService.cs b/src/Nexus.Crypto.SDK/Services/ICustomerService.cs index 8cc88c8..4ceecda 100644 --- a/src/Nexus.Crypto.SDK/Services/ICustomerService.cs +++ b/src/Nexus.Crypto.SDK/Services/ICustomerService.cs @@ -19,4 +19,5 @@ Task>> GetCustomerTraces(string Task> DeleteCustomer(string customerCode); + Task> UpdateCustomer(string customerCode, UpdateCustomerRequest request); } \ No newline at end of file diff --git a/tests/Nexus.Crypto.SDK.Tests/NexusLabelApiSdkTests.cs b/tests/Nexus.Crypto.SDK.Tests/NexusLabelApiSdkTests.cs index c052cc0..5ede827 100644 --- a/tests/Nexus.Crypto.SDK.Tests/NexusLabelApiSdkTests.cs +++ b/tests/Nexus.Crypto.SDK.Tests/NexusLabelApiSdkTests.cs @@ -788,7 +788,7 @@ public async Task GetCustomers_Success() }); var response = await _logicHelper.ApiService.Customer - .GetCustomers(new System.Collections.Generic.Dictionary + .GetCustomers(new Dictionary { { "startDate", "2021-01-01T00:00:01Z" }, { "endDate", "2022-01-01T00:00:03Z" }, From 608f861ae82d4f1959bf8574743fdfb487dcc56e Mon Sep 17 00:00:00 2001 From: AsimakisAnt Date: Tue, 12 May 2026 13:32:53 +0200 Subject: [PATCH 2/2] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../Models/Customer/CustomerModel.cs | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/Nexus.Crypto.SDK/Models/Customer/CustomerModel.cs b/src/Nexus.Crypto.SDK/Models/Customer/CustomerModel.cs index ed4efa7..438b849 100644 --- a/src/Nexus.Crypto.SDK/Models/Customer/CustomerModel.cs +++ b/src/Nexus.Crypto.SDK/Models/Customer/CustomerModel.cs @@ -69,26 +69,26 @@ public class UpdateCustomerRequest { public string? TrustLevelCode { get; set; } public string? Email { get; set; } - public string Name { get; set; } - public string FirstName { get; set; } - public string LastName { get; set; } - public string Phone { get; set; } - public string DateOfBirth { get; set; } - public string CompanyName { get; set; } - public string Address { get; set; } - public string City { get; set; } - public string ZipCode { get; set; } - public string State { get; set; } - public string Tag { get; set; } + public string? Name { get; set; } + public string? FirstName { get; set; } + public string? LastName { get; set; } + public string? Phone { get; set; } + public string? DateOfBirth { get; set; } + public string? CompanyName { get; set; } + public string? Address { get; set; } + public string? City { get; set; } + public string? ZipCode { get; set; } + public string? State { get; set; } + public string? Tag { get; set; } public string? Status { get; set; } - public string CountryCode { get; set; } + public string? CountryCode { get; set; } public RiskQualificationEnum? RiskQualification { get; set; } public DateTime? LatestReview { get; set; } public bool? IsReviewRecommended { get; set; } public string? Comment { get; set; } - public string Reason { get; set; } - public IDictionary Data { get; set; } - public string[] FieldsToClear { get; set; } + public string? Reason { get; set; } + public IDictionary? Data { get; set; } + public string[]? FieldsToClear { get; set; } public int? CurrencyId { get; set; } public bool? IsBusiness { get; set; }