public async Task CreateOrUpdateUserAsync()

in src/Relecloud.Web.CallCenter/Services/RelecloudApiServices/RelecloudApiConcertService.cs [64:86]


        public async Task<UpdateResult> CreateOrUpdateUserAsync(User user)
        {
            await PrepareAuthenticatedClient();
            var httpRequestMessage = new HttpRequestMessage(HttpMethod.Patch, "api/User");
            httpRequestMessage.Content = JsonContent.Create(user);
            var httpResponseMessage = await this.httpClient.SendAsync(httpRequestMessage);

            if (httpResponseMessage.StatusCode == HttpStatusCode.BadRequest)
            {
                var responseMessage = await httpResponseMessage.Content.ReadAsStringAsync();
                var failedCreateOperation = JsonSerializer.Deserialize<CreateResult>(responseMessage, RelecloudApiConfiguration.GetSerializerOptions());
                return failedCreateOperation ?? throw new InvalidOperationException("Failed to parse response");
            }
            else if (httpResponseMessage.StatusCode != HttpStatusCode.Accepted)
            {
                throw new InvalidOperationException(nameof(CreateOrUpdateUserAsync), new WebException(await httpResponseMessage.Content.ReadAsStringAsync()));
            }

            return new UpdateResult
            {
                Success = true,
            };
        }