diff --git a/src/Nexus.Crypto.SDK/Models/Customer/CustomerModel.cs b/src/Nexus.Crypto.SDK/Models/Customer/CustomerModel.cs index b82c09d..438b849 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" },