diff --git a/csharp/Squidex.ClientLibrary/Squidex.ClientLibrary/ISquidexClientManager.cs b/csharp/Squidex.ClientLibrary/Squidex.ClientLibrary/ISquidexClientManager.cs
index 5ffef979..cebe05fc 100644
--- a/csharp/Squidex.ClientLibrary/Squidex.ClientLibrary/ISquidexClientManager.cs
+++ b/csharp/Squidex.ClientLibrary/Squidex.ClientLibrary/ISquidexClientManager.cs
@@ -135,6 +135,17 @@ public interface ISquidexClientManager
///
IDiagnosticsClient CreateDiagnosticsClient();
+ ///
+ /// Creates a client instance to query and manage event consumers.
+ ///
+ ///
+ /// The created client.
+ ///
+ ///
+ /// Do not create new clients frequently.
+ ///
+ IEventConsumersClient CreateEventConsumersClient();
+
///
/// Creates a client instance to query and manage histories.
///
@@ -256,6 +267,17 @@ public interface ISquidexClientManager
///
IUsersClient CreateUsersClient();
+ ///
+ /// Creates a client instance to query and manage users as administrator.
+ ///
+ ///
+ /// The created client.
+ ///
+ ///
+ /// Do not create new clients frequently.
+ ///
+ IUserManagementClient CreateUserManagementClient();
+
///
/// Creates a client instance to query and manage untyped rules.
///
diff --git a/csharp/Squidex.ClientLibrary/Squidex.ClientLibrary/Management/Generated.cs b/csharp/Squidex.ClientLibrary/Squidex.ClientLibrary/Management/Generated.cs
index c80a58f9..345de9b2 100644
--- a/csharp/Squidex.ClientLibrary/Squidex.ClientLibrary/Management/Generated.cs
+++ b/csharp/Squidex.ClientLibrary/Squidex.ClientLibrary/Management/Generated.cs
@@ -18,53 +18,84 @@ namespace Squidex.ClientLibrary.Management
using System = global::System;
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial interface IUsersClient
+ public partial interface IUserManagementClient
{
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get the user resources.
+ /// Get users by query.
///
- /// User resources returned.
+ /// Optional query to search by email address or username.
+ /// The number of users to skip.
+ /// The number of users to return.
+ /// Users returned.
/// A server side error occurred.
- System.Threading.Tasks.Task GetUserResourcesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+ System.Threading.Tasks.Task GetUsersAsync(string query = null, int? skip = null, int? take = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get users by query.
+ /// Create a new user.
///
- /// The query to search the user by email address. Case invariant.
- /// Users returned.
+ /// The user object that needs to be added.
+ /// User created.
/// A server side error occurred.
- System.Threading.Tasks.Task> GetUsersAsync(string query = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+ System.Threading.Tasks.Task PostUserAsync(CreateUserDto request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get user by id.
+ /// Get a user by ID.
///
- /// The id of the user (GUID).
- /// User found.
+ /// The ID of the user.
+ /// User returned.
/// A server side error occurred.
System.Threading.Tasks.Task GetUserAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get user picture by id.
+ /// Update a user.
///
- /// The id of the user (GUID).
- /// User found and image or fallback returned.
+ /// The ID of the user.
+ /// The user object that needs to be updated.
+ /// User created.
/// A server side error occurred.
- System.Threading.Tasks.Task GetUserPictureAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+ System.Threading.Tasks.Task PutUserAsync(string id, UpdateUserDto request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Delete a User.
+ ///
+ /// The ID of the user to delete.
+ /// User deleted.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task DeleteUserAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Lock a user.
+ ///
+ /// The ID of the user to lock.
+ /// User locked.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task LockUserAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Unlock a user.
+ ///
+ /// The ID of the user to unlock.
+ /// User unlocked.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task UnlockUserAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
}
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial class UsersClient : IUsersClient
+ public partial class UserManagementClient : IUserManagementClient
{
private System.Net.Http.HttpClient _httpClient;
private System.Lazy _settings;
- public UsersClient(System.Net.Http.HttpClient httpClient)
+ public UserManagementClient(System.Net.Http.HttpClient httpClient)
{
_httpClient = httpClient;
_settings = new System.Lazy(CreateSerializerSettings);
@@ -87,14 +118,30 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get the user resources.
+ /// Get users by query.
///
- /// User resources returned.
+ /// Optional query to search by email address or username.
+ /// The number of users to skip.
+ /// The number of users to return.
+ /// Users returned.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task GetUserResourcesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task GetUsersAsync(string query = null, int? skip = null, int? take = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api");
+ urlBuilder_.Append("api/user-management?");
+ if (query != null)
+ {
+ urlBuilder_.Append(System.Uri.EscapeDataString("query") + "=").Append(System.Uri.EscapeDataString(ConvertToString(query, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
+ }
+ if (skip != null)
+ {
+ urlBuilder_.Append(System.Uri.EscapeDataString("skip") + "=").Append(System.Uri.EscapeDataString(ConvertToString(skip, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
+ }
+ if (take != null)
+ {
+ urlBuilder_.Append(System.Uri.EscapeDataString("take") + "=").Append(System.Uri.EscapeDataString(ConvertToString(take, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
+ }
+ urlBuilder_.Length--;
var client_ = _httpClient;
var disposeClient_ = false;
@@ -128,7 +175,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
var status_ = (int)response_.StatusCode;
if (status_ == 200)
{
- var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
@@ -167,20 +214,18 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get users by query.
+ /// Create a new user.
///
- /// The query to search the user by email address. Case invariant.
- /// Users returned.
+ /// The user object that needs to be added.
+ /// User created.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task> GetUsersAsync(string query = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task PostUserAsync(CreateUserDto request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
+ if (request == null)
+ throw new System.ArgumentNullException("request");
+
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/users?");
- if (query != null)
- {
- urlBuilder_.Append(System.Uri.EscapeDataString("query") + "=").Append(System.Uri.EscapeDataString(ConvertToString(query, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
- }
- urlBuilder_.Length--;
+ urlBuilder_.Append("api/user-management");
var client_ = _httpClient;
var disposeClient_ = false;
@@ -188,7 +233,10 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
{
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
- request_.Method = new System.Net.Http.HttpMethod("GET");
+ var content_ = new System.Net.Http.StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(request, _settings.Value));
+ content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+ request_.Content = content_;
+ request_.Method = new System.Net.Http.HttpMethod("POST");
request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
PrepareRequest(client_, request_, urlBuilder_);
@@ -212,9 +260,9 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
ProcessResponse(client_, response_);
var status_ = (int)response_.StatusCode;
- if (status_ == 200)
+ if (status_ == 201)
{
- var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
@@ -222,6 +270,16 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
return objectResponse_.Object;
}
else
+ if (status_ == 400)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("User request not valid.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
if (status_ == 500)
{
var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
@@ -253,10 +311,10 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get user by id.
+ /// Get a user by ID.
///
- /// The id of the user (GUID).
- /// User found.
+ /// The ID of the user.
+ /// User returned.
/// A server side error occurred.
public virtual async System.Threading.Tasks.Task GetUserAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
@@ -264,7 +322,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
throw new System.ArgumentNullException("id");
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/users/{id}");
+ urlBuilder_.Append("api/user-management/{id}");
urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
var client_ = _httpClient;
@@ -344,18 +402,22 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get user picture by id.
+ /// Update a user.
///
- /// The id of the user (GUID).
- /// User found and image or fallback returned.
+ /// The ID of the user.
+ /// The user object that needs to be updated.
+ /// User created.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task GetUserPictureAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task PutUserAsync(string id, UpdateUserDto request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
if (id == null)
throw new System.ArgumentNullException("id");
+ if (request == null)
+ throw new System.ArgumentNullException("request");
+
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/users/{id}/picture");
+ urlBuilder_.Append("api/user-management/{id}");
urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
var client_ = _httpClient;
@@ -364,8 +426,11 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
{
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
- request_.Method = new System.Net.Http.HttpMethod("GET");
- request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/octet-stream"));
+ var content_ = new System.Net.Http.StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(request, _settings.Value));
+ content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+ request_.Content = content_;
+ request_.Method = new System.Net.Http.HttpMethod("PUT");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
PrepareRequest(client_, request_, urlBuilder_);
@@ -388,12 +453,24 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
ProcessResponse(client_, response_);
var status_ = (int)response_.StatusCode;
- if (status_ == 200 || status_ == 206)
+ if (status_ == 200)
{
- var responseStream_ = response_.Content == null ? System.IO.Stream.Null : await response_.Content.ReadAsStreamAsync().ConfigureAwait(false);
- var fileResponse_ = new FileResponse(status_, headers_, responseStream_, null, response_);
- disposeClient_ = false; disposeResponse_ = false; // response and client are disposed by FileResponse
- return fileResponse_;
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 400)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("User request not valid.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
}
else
if (status_ == 404)
@@ -431,171 +508,218 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
}
}
- protected struct ObjectResponseResult
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Delete a User.
+ ///
+ /// The ID of the user to delete.
+ /// User deleted.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task DeleteUserAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- public ObjectResponseResult(T responseObject, string responseText)
+ if (id == null)
+ throw new System.ArgumentNullException("id");
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+ urlBuilder_.Append("api/user-management/{id}");
+ urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
{
- this.Object = responseObject;
- this.Text = responseText;
- }
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ request_.Method = new System.Net.Http.HttpMethod("DELETE");
- public T Object { get; }
+ PrepareRequest(client_, request_, urlBuilder_);
- public string Text { get; }
- }
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
- public bool ReadResponseAsString { get; set; }
+ PrepareRequest(client_, request_, url_);
- protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken)
- {
- if (response == null || response.Content == null)
- {
- return new ObjectResponseResult(default(T), string.Empty);
- }
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
- if (ReadResponseAsString)
- {
- var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
- try
- {
- var typedBody = Newtonsoft.Json.JsonConvert.DeserializeObject(responseText, JsonSerializerSettings);
- return new ObjectResponseResult(typedBody, responseText);
- }
- catch (Newtonsoft.Json.JsonException exception)
- {
- var message = "Could not deserialize the response body string as " + typeof(T).FullName + ".";
- throw new SquidexManagementException(message, (int)response.StatusCode, responseText, headers, exception);
- }
- }
- else
- {
- try
- {
- using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
- using (var streamReader = new System.IO.StreamReader(responseStream))
- using (var jsonTextReader = new Newtonsoft.Json.JsonTextReader(streamReader))
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 204)
+ {
+ return;
+ }
+ else
+ if (status_ == 403)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("User is the current user.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("User not found.", status_, responseText_, headers_, null);
+ }
+ else
+ if (status_ == 500)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
{
- var serializer = Newtonsoft.Json.JsonSerializer.Create(JsonSerializerSettings);
- var typedBody = serializer.Deserialize(jsonTextReader);
- return new ObjectResponseResult(typedBody, string.Empty);
+ if (disposeResponse_)
+ response_.Dispose();
}
}
- catch (Newtonsoft.Json.JsonException exception)
- {
- var message = "Could not deserialize the response body stream as " + typeof(T).FullName + ".";
- throw new SquidexManagementException(message, (int)response.StatusCode, string.Empty, headers, exception);
- }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
}
}
- private string ConvertToString(object value, System.Globalization.CultureInfo cultureInfo)
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Lock a user.
+ ///
+ /// The ID of the user to lock.
+ /// User locked.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task LockUserAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- if (value == null)
- {
- return "";
- }
+ if (id == null)
+ throw new System.ArgumentNullException("id");
- if (value is System.Enum)
+ var urlBuilder_ = new System.Text.StringBuilder();
+ urlBuilder_.Append("api/user-management/{id}/lock");
+ urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
{
- var name = System.Enum.GetName(value.GetType(), value);
- if (name != null)
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
{
- var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name);
- if (field != null)
+ request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json");
+ request_.Method = new System.Net.Http.HttpMethod("PUT");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
{
- var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute))
- as System.Runtime.Serialization.EnumMemberAttribute;
- if (attribute != null)
+ var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
+ if (response_.Content != null && response_.Content.Headers != null)
{
- return attribute.Value != null ? attribute.Value : name;
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
}
- }
- var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo));
- return converted == null ? string.Empty : converted;
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 403)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("User is the current user.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("User not found.", status_, responseText_, headers_, null);
+ }
+ else
+ if (status_ == 500)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
}
}
- else if (value is bool)
- {
- return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant();
- }
- else if (value is byte[])
- {
- return System.Convert.ToBase64String((byte[]) value);
- }
- else if (value.GetType().IsArray)
+ finally
{
- var array = System.Linq.Enumerable.OfType((System.Array) value);
- return string.Join(",", System.Linq.Enumerable.Select(array, o => ConvertToString(o, cultureInfo)));
+ if (disposeClient_)
+ client_.Dispose();
}
-
- var result = System.Convert.ToString(value, cultureInfo);
- return result == null ? "" : result;
- }
- }
-
- [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial interface ITranslationsClient
- {
-
- /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
- ///
- /// Translate a text.
- ///
- /// The name of the app.
- /// The translation request.
- /// Text translated.
- /// A server side error occurred.
- System.Threading.Tasks.Task PostTranslationAsync(string app, TranslateDto request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
-
- }
-
- [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial class TranslationsClient : ITranslationsClient
- {
- private System.Net.Http.HttpClient _httpClient;
- private System.Lazy _settings;
-
- public TranslationsClient(System.Net.Http.HttpClient httpClient)
- {
- _httpClient = httpClient;
- _settings = new System.Lazy(CreateSerializerSettings);
- }
-
- private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
- {
- var settings = new Newtonsoft.Json.JsonSerializerSettings();
- UpdateJsonSerializerSettings(settings);
- return settings;
}
- protected Newtonsoft.Json.JsonSerializerSettings JsonSerializerSettings { get { return _settings.Value; } }
-
- partial void UpdateJsonSerializerSettings(Newtonsoft.Json.JsonSerializerSettings settings);
-
- partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url);
- partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder);
- partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response);
-
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Translate a text.
+ /// Unlock a user.
///
- /// The name of the app.
- /// The translation request.
- /// Text translated.
+ /// The ID of the user to unlock.
+ /// User unlocked.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task PostTranslationAsync(string app, TranslateDto request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task UnlockUserAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- if (app == null)
- throw new System.ArgumentNullException("app");
-
- if (request == null)
- throw new System.ArgumentNullException("request");
+ if (id == null)
+ throw new System.ArgumentNullException("id");
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/apps/{app}/translations");
- urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
+ urlBuilder_.Append("api/user-management/{id}/unlock");
+ urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
var client_ = _httpClient;
var disposeClient_ = false;
@@ -603,10 +727,8 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
{
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
- var content_ = new System.Net.Http.StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(request, _settings.Value));
- content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
- request_.Content = content_;
- request_.Method = new System.Net.Http.HttpMethod("POST");
+ request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json");
+ request_.Method = new System.Net.Http.HttpMethod("PUT");
request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
PrepareRequest(client_, request_, urlBuilder_);
@@ -632,7 +754,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
var status_ = (int)response_.StatusCode;
if (status_ == 200)
{
- var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
@@ -640,6 +762,22 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
return objectResponse_.Object;
}
else
+ if (status_ == 403)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("User is the current user.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ if (status_ == 404)
+ {
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("User not found.", status_, responseText_, headers_, null);
+ }
+ else
if (status_ == 500)
{
var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
@@ -773,35 +911,53 @@ private string ConvertToString(object value, System.Globalization.CultureInfo cu
}
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial interface ITemplatesClient
+ public partial interface IUsersClient
{
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get all templates.
+ /// Get the user resources.
///
- /// Templates returned.
+ /// User resources returned.
/// A server side error occurred.
- System.Threading.Tasks.Task GetTemplatesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+ System.Threading.Tasks.Task GetUserResourcesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get template details.
+ /// Get users by query.
///
- /// The name of the template.
- /// Template returned.
+ /// The query to search the user by email address. Case invariant.
+ /// Users returned.
/// A server side error occurred.
- System.Threading.Tasks.Task GetTemplateAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+ System.Threading.Tasks.Task> GetUsersAsync(string query = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get user by id.
+ ///
+ /// The id of the user (GUID).
+ /// User found.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task GetUserAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get user picture by id.
+ ///
+ /// The id of the user (GUID).
+ /// User found and image or fallback returned.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task GetUserPictureAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
}
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial class TemplatesClient : ITemplatesClient
+ public partial class UsersClient : IUsersClient
{
private System.Net.Http.HttpClient _httpClient;
private System.Lazy _settings;
- public TemplatesClient(System.Net.Http.HttpClient httpClient)
+ public UsersClient(System.Net.Http.HttpClient httpClient)
{
_httpClient = httpClient;
_settings = new System.Lazy(CreateSerializerSettings);
@@ -824,14 +980,14 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get all templates.
+ /// Get the user resources.
///
- /// Templates returned.
+ /// User resources returned.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task GetTemplatesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task GetUserResourcesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/templates");
+ urlBuilder_.Append("api");
var client_ = _httpClient;
var disposeClient_ = false;
@@ -865,7 +1021,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
var status_ = (int)response_.StatusCode;
if (status_ == 200)
{
- var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
@@ -904,19 +1060,20 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get template details.
+ /// Get users by query.
///
- /// The name of the template.
- /// Template returned.
+ /// The query to search the user by email address. Case invariant.
+ /// Users returned.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task GetTemplateAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task> GetUsersAsync(string query = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- if (name == null)
- throw new System.ArgumentNullException("name");
-
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/templates/{name}");
- urlBuilder_.Replace("{name}", System.Uri.EscapeDataString(ConvertToString(name, System.Globalization.CultureInfo.InvariantCulture)));
+ urlBuilder_.Append("api/users?");
+ if (query != null)
+ {
+ urlBuilder_.Append(System.Uri.EscapeDataString("query") + "=").Append(System.Uri.EscapeDataString(ConvertToString(query, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
+ }
+ urlBuilder_.Length--;
var client_ = _httpClient;
var disposeClient_ = false;
@@ -950,7 +1107,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
var status_ = (int)response_.StatusCode;
if (status_ == 200)
{
- var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
@@ -958,12 +1115,748 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
return objectResponse_.Object;
}
else
- if (status_ == 404)
- {
- string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
- throw new SquidexManagementException("Template not found.", status_, responseText_, headers_, null);
- }
- else
+ if (status_ == 500)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get user by id.
+ ///
+ /// The id of the user (GUID).
+ /// User found.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetUserAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ {
+ if (id == null)
+ throw new System.ArgumentNullException("id");
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+ urlBuilder_.Append("api/users/{id}");
+ urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 404)
+ {
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("User not found.", status_, responseText_, headers_, null);
+ }
+ else
+ if (status_ == 500)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get user picture by id.
+ ///
+ /// The id of the user (GUID).
+ /// User found and image or fallback returned.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetUserPictureAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ {
+ if (id == null)
+ throw new System.ArgumentNullException("id");
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+ urlBuilder_.Append("api/users/{id}/picture");
+ urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/octet-stream"));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200 || status_ == 206)
+ {
+ var responseStream_ = response_.Content == null ? System.IO.Stream.Null : await response_.Content.ReadAsStreamAsync().ConfigureAwait(false);
+ var fileResponse_ = new FileResponse(status_, headers_, responseStream_, null, response_);
+ disposeClient_ = false; disposeResponse_ = false; // response and client are disposed by FileResponse
+ return fileResponse_;
+ }
+ else
+ if (status_ == 404)
+ {
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("User not found.", status_, responseText_, headers_, null);
+ }
+ else
+ if (status_ == 500)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ protected struct ObjectResponseResult
+ {
+ public ObjectResponseResult(T responseObject, string responseText)
+ {
+ this.Object = responseObject;
+ this.Text = responseText;
+ }
+
+ public T Object { get; }
+
+ public string Text { get; }
+ }
+
+ public bool ReadResponseAsString { get; set; }
+
+ protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken)
+ {
+ if (response == null || response.Content == null)
+ {
+ return new ObjectResponseResult(default(T), string.Empty);
+ }
+
+ if (ReadResponseAsString)
+ {
+ var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ var typedBody = Newtonsoft.Json.JsonConvert.DeserializeObject(responseText, JsonSerializerSettings);
+ return new ObjectResponseResult(typedBody, responseText);
+ }
+ catch (Newtonsoft.Json.JsonException exception)
+ {
+ var message = "Could not deserialize the response body string as " + typeof(T).FullName + ".";
+ throw new SquidexManagementException(message, (int)response.StatusCode, responseText, headers, exception);
+ }
+ }
+ else
+ {
+ try
+ {
+ using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
+ using (var streamReader = new System.IO.StreamReader(responseStream))
+ using (var jsonTextReader = new Newtonsoft.Json.JsonTextReader(streamReader))
+ {
+ var serializer = Newtonsoft.Json.JsonSerializer.Create(JsonSerializerSettings);
+ var typedBody = serializer.Deserialize(jsonTextReader);
+ return new ObjectResponseResult(typedBody, string.Empty);
+ }
+ }
+ catch (Newtonsoft.Json.JsonException exception)
+ {
+ var message = "Could not deserialize the response body stream as " + typeof(T).FullName + ".";
+ throw new SquidexManagementException(message, (int)response.StatusCode, string.Empty, headers, exception);
+ }
+ }
+ }
+
+ private string ConvertToString(object value, System.Globalization.CultureInfo cultureInfo)
+ {
+ if (value == null)
+ {
+ return "";
+ }
+
+ if (value is System.Enum)
+ {
+ var name = System.Enum.GetName(value.GetType(), value);
+ if (name != null)
+ {
+ var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name);
+ if (field != null)
+ {
+ var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute))
+ as System.Runtime.Serialization.EnumMemberAttribute;
+ if (attribute != null)
+ {
+ return attribute.Value != null ? attribute.Value : name;
+ }
+ }
+
+ var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo));
+ return converted == null ? string.Empty : converted;
+ }
+ }
+ else if (value is bool)
+ {
+ return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant();
+ }
+ else if (value is byte[])
+ {
+ return System.Convert.ToBase64String((byte[]) value);
+ }
+ else if (value.GetType().IsArray)
+ {
+ var array = System.Linq.Enumerable.OfType((System.Array) value);
+ return string.Join(",", System.Linq.Enumerable.Select(array, o => ConvertToString(o, cultureInfo)));
+ }
+
+ var result = System.Convert.ToString(value, cultureInfo);
+ return result == null ? "" : result;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
+ public partial interface ITranslationsClient
+ {
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Translate a text.
+ ///
+ /// The name of the app.
+ /// The translation request.
+ /// Text translated.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task PostTranslationAsync(string app, TranslateDto request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
+ public partial class TranslationsClient : ITranslationsClient
+ {
+ private System.Net.Http.HttpClient _httpClient;
+ private System.Lazy _settings;
+
+ public TranslationsClient(System.Net.Http.HttpClient httpClient)
+ {
+ _httpClient = httpClient;
+ _settings = new System.Lazy(CreateSerializerSettings);
+ }
+
+ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
+ {
+ var settings = new Newtonsoft.Json.JsonSerializerSettings();
+ UpdateJsonSerializerSettings(settings);
+ return settings;
+ }
+
+ protected Newtonsoft.Json.JsonSerializerSettings JsonSerializerSettings { get { return _settings.Value; } }
+
+ partial void UpdateJsonSerializerSettings(Newtonsoft.Json.JsonSerializerSettings settings);
+
+ partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url);
+ partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder);
+ partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response);
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Translate a text.
+ ///
+ /// The name of the app.
+ /// The translation request.
+ /// Text translated.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task PostTranslationAsync(string app, TranslateDto request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ {
+ if (app == null)
+ throw new System.ArgumentNullException("app");
+
+ if (request == null)
+ throw new System.ArgumentNullException("request");
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+ urlBuilder_.Append("api/apps/{app}/translations");
+ urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ var content_ = new System.Net.Http.StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(request, _settings.Value));
+ content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+ request_.Content = content_;
+ request_.Method = new System.Net.Http.HttpMethod("POST");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 500)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ protected struct ObjectResponseResult
+ {
+ public ObjectResponseResult(T responseObject, string responseText)
+ {
+ this.Object = responseObject;
+ this.Text = responseText;
+ }
+
+ public T Object { get; }
+
+ public string Text { get; }
+ }
+
+ public bool ReadResponseAsString { get; set; }
+
+ protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken)
+ {
+ if (response == null || response.Content == null)
+ {
+ return new ObjectResponseResult(default(T), string.Empty);
+ }
+
+ if (ReadResponseAsString)
+ {
+ var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ var typedBody = Newtonsoft.Json.JsonConvert.DeserializeObject(responseText, JsonSerializerSettings);
+ return new ObjectResponseResult(typedBody, responseText);
+ }
+ catch (Newtonsoft.Json.JsonException exception)
+ {
+ var message = "Could not deserialize the response body string as " + typeof(T).FullName + ".";
+ throw new SquidexManagementException(message, (int)response.StatusCode, responseText, headers, exception);
+ }
+ }
+ else
+ {
+ try
+ {
+ using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
+ using (var streamReader = new System.IO.StreamReader(responseStream))
+ using (var jsonTextReader = new Newtonsoft.Json.JsonTextReader(streamReader))
+ {
+ var serializer = Newtonsoft.Json.JsonSerializer.Create(JsonSerializerSettings);
+ var typedBody = serializer.Deserialize(jsonTextReader);
+ return new ObjectResponseResult(typedBody, string.Empty);
+ }
+ }
+ catch (Newtonsoft.Json.JsonException exception)
+ {
+ var message = "Could not deserialize the response body stream as " + typeof(T).FullName + ".";
+ throw new SquidexManagementException(message, (int)response.StatusCode, string.Empty, headers, exception);
+ }
+ }
+ }
+
+ private string ConvertToString(object value, System.Globalization.CultureInfo cultureInfo)
+ {
+ if (value == null)
+ {
+ return "";
+ }
+
+ if (value is System.Enum)
+ {
+ var name = System.Enum.GetName(value.GetType(), value);
+ if (name != null)
+ {
+ var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name);
+ if (field != null)
+ {
+ var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute))
+ as System.Runtime.Serialization.EnumMemberAttribute;
+ if (attribute != null)
+ {
+ return attribute.Value != null ? attribute.Value : name;
+ }
+ }
+
+ var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo));
+ return converted == null ? string.Empty : converted;
+ }
+ }
+ else if (value is bool)
+ {
+ return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant();
+ }
+ else if (value is byte[])
+ {
+ return System.Convert.ToBase64String((byte[]) value);
+ }
+ else if (value.GetType().IsArray)
+ {
+ var array = System.Linq.Enumerable.OfType((System.Array) value);
+ return string.Join(",", System.Linq.Enumerable.Select(array, o => ConvertToString(o, cultureInfo)));
+ }
+
+ var result = System.Convert.ToString(value, cultureInfo);
+ return result == null ? "" : result;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
+ public partial interface ITemplatesClient
+ {
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get all templates.
+ ///
+ /// Templates returned.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task GetTemplatesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get template details.
+ ///
+ /// The name of the template.
+ /// Template returned.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task GetTemplateAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
+ public partial class TemplatesClient : ITemplatesClient
+ {
+ private System.Net.Http.HttpClient _httpClient;
+ private System.Lazy _settings;
+
+ public TemplatesClient(System.Net.Http.HttpClient httpClient)
+ {
+ _httpClient = httpClient;
+ _settings = new System.Lazy(CreateSerializerSettings);
+ }
+
+ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
+ {
+ var settings = new Newtonsoft.Json.JsonSerializerSettings();
+ UpdateJsonSerializerSettings(settings);
+ return settings;
+ }
+
+ protected Newtonsoft.Json.JsonSerializerSettings JsonSerializerSettings { get { return _settings.Value; } }
+
+ partial void UpdateJsonSerializerSettings(Newtonsoft.Json.JsonSerializerSettings settings);
+
+ partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url);
+ partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder);
+ partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response);
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get all templates.
+ ///
+ /// Templates returned.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetTemplatesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ {
+ var urlBuilder_ = new System.Text.StringBuilder();
+ urlBuilder_.Append("api/templates");
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 500)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get template details.
+ ///
+ /// The name of the template.
+ /// Template returned.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetTemplateAsync(string name, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ {
+ if (name == null)
+ throw new System.ArgumentNullException("name");
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+ urlBuilder_.Append("api/templates/{name}");
+ urlBuilder_.Replace("{name}", System.Uri.EscapeDataString(ConvertToString(name, System.Globalization.CultureInfo.InvariantCulture)));
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 404)
+ {
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("Template not found.", status_, responseText_, headers_, null);
+ }
+ else
if (status_ == 500)
{
var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
@@ -7224,9 +8117,207 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
throw new System.ArgumentNullException("id");
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/apps/{app}/rules/{id}/simulate");
+ urlBuilder_.Append("api/apps/{app}/rules/{id}/simulate");
+ urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
+ urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 404)
+ {
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("Rule or app not found.", status_, responseText_, headers_, null);
+ }
+ else
+ if (status_ == 500)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get rule events.
+ ///
+ /// The name of the app.
+ /// The optional rule id to filter to events.
+ /// The number of events to skip.
+ /// The number of events to take.
+ /// Rule events returned.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetEventsAsync(string app, string ruleId = null, int? skip = null, int? take = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ {
+ if (app == null)
+ throw new System.ArgumentNullException("app");
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+ urlBuilder_.Append("api/apps/{app}/rules/events?");
+ urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
+ if (ruleId != null)
+ {
+ urlBuilder_.Append(System.Uri.EscapeDataString("ruleId") + "=").Append(System.Uri.EscapeDataString(ConvertToString(ruleId, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
+ }
+ if (skip != null)
+ {
+ urlBuilder_.Append(System.Uri.EscapeDataString("skip") + "=").Append(System.Uri.EscapeDataString(ConvertToString(skip, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
+ }
+ if (take != null)
+ {
+ urlBuilder_.Append(System.Uri.EscapeDataString("take") + "=").Append(System.Uri.EscapeDataString(ConvertToString(take, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
+ }
+ urlBuilder_.Length--;
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 404)
+ {
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("App not found.", status_, responseText_, headers_, null);
+ }
+ else
+ if (status_ == 500)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Cancels all events.
+ ///
+ /// The name of the app.
+ /// Events cancelled.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task DeleteEventsAsync(string app, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ {
+ if (app == null)
+ throw new System.ArgumentNullException("app");
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+ urlBuilder_.Append("api/apps/{app}/rules/events");
urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
- urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
var client_ = _httpClient;
var disposeClient_ = false;
@@ -7234,8 +8325,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
{
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
- request_.Method = new System.Net.Http.HttpMethod("GET");
- request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+ request_.Method = new System.Net.Http.HttpMethod("DELETE");
PrepareRequest(client_, request_, urlBuilder_);
@@ -7258,20 +8348,9 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
ProcessResponse(client_, response_);
var status_ = (int)response_.StatusCode;
- if (status_ == 200)
- {
- var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
- if (objectResponse_.Object == null)
- {
- throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
- }
- return objectResponse_.Object;
- }
- else
- if (status_ == 404)
+ if (status_ == 204)
{
- string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
- throw new SquidexManagementException("Rule or app not found.", status_, responseText_, headers_, null);
+ return;
}
else
if (status_ == 500)
@@ -7305,35 +8384,24 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get rule events.
+ /// Retry the event immediately.
///
/// The name of the app.
- /// The optional rule id to filter to events.
- /// The number of events to skip.
- /// The number of events to take.
- /// Rule events returned.
+ /// The event to enqueue.
+ /// Rule enqueued.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task GetEventsAsync(string app, string ruleId = null, int? skip = null, int? take = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task PutEventAsync(string app, string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
if (app == null)
throw new System.ArgumentNullException("app");
+ if (id == null)
+ throw new System.ArgumentNullException("id");
+
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/apps/{app}/rules/events?");
+ urlBuilder_.Append("api/apps/{app}/rules/events/{id}");
urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
- if (ruleId != null)
- {
- urlBuilder_.Append(System.Uri.EscapeDataString("ruleId") + "=").Append(System.Uri.EscapeDataString(ConvertToString(ruleId, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
- }
- if (skip != null)
- {
- urlBuilder_.Append(System.Uri.EscapeDataString("skip") + "=").Append(System.Uri.EscapeDataString(ConvertToString(skip, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
- }
- if (take != null)
- {
- urlBuilder_.Append(System.Uri.EscapeDataString("take") + "=").Append(System.Uri.EscapeDataString(ConvertToString(take, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
- }
- urlBuilder_.Length--;
+ urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
var client_ = _httpClient;
var disposeClient_ = false;
@@ -7341,8 +8409,8 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
{
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
- request_.Method = new System.Net.Http.HttpMethod("GET");
- request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+ request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json");
+ request_.Method = new System.Net.Http.HttpMethod("PUT");
PrepareRequest(client_, request_, urlBuilder_);
@@ -7365,20 +8433,15 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
ProcessResponse(client_, response_);
var status_ = (int)response_.StatusCode;
- if (status_ == 200)
+ if (status_ == 204)
{
- var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
- if (objectResponse_.Object == null)
- {
- throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
- }
- return objectResponse_.Object;
+ return;
}
else
if (status_ == 404)
{
string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
- throw new SquidexManagementException("App not found.", status_, responseText_, headers_, null);
+ throw new SquidexManagementException("App or rule event not found.", status_, responseText_, headers_, null);
}
else
if (status_ == 500)
@@ -7412,19 +8475,24 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Cancels all events.
+ /// Cancels an event.
///
/// The name of the app.
- /// Events cancelled.
+ /// The event to enqueue.
+ /// Rule deqeued.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task DeleteEventsAsync(string app, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task DeleteEventAsync(string app, string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
if (app == null)
throw new System.ArgumentNullException("app");
+ if (id == null)
+ throw new System.ArgumentNullException("id");
+
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/apps/{app}/rules/events");
+ urlBuilder_.Append("api/apps/{app}/rules/events/{id}");
urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
+ urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
var client_ = _httpClient;
var disposeClient_ = false;
@@ -7460,6 +8528,12 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
return;
}
else
+ if (status_ == 404)
+ {
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("App or rule event not found.", status_, responseText_, headers_, null);
+ }
+ else
if (status_ == 500)
{
var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
@@ -7491,24 +8565,14 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Retry the event immediately.
+ /// Provide a list of all event types that are used in rules.
///
- /// The name of the app.
- /// The event to enqueue.
- /// Rule enqueued.
+ /// Rule events returned.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task PutEventAsync(string app, string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task> GetEventTypesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- if (app == null)
- throw new System.ArgumentNullException("app");
-
- if (id == null)
- throw new System.ArgumentNullException("id");
-
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/apps/{app}/rules/events/{id}");
- urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
- urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
+ urlBuilder_.Append("api/rules/eventtypes");
var client_ = _httpClient;
var disposeClient_ = false;
@@ -7516,8 +8580,8 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
{
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
- request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json");
- request_.Method = new System.Net.Http.HttpMethod("PUT");
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
PrepareRequest(client_, request_, urlBuilder_);
@@ -7540,15 +8604,14 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
ProcessResponse(client_, response_);
var status_ = (int)response_.StatusCode;
- if (status_ == 204)
- {
- return;
- }
- else
- if (status_ == 404)
+ if (status_ == 200)
{
- string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
- throw new SquidexManagementException("App or rule event not found.", status_, responseText_, headers_, null);
+ var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
}
else
if (status_ == 500)
@@ -7582,24 +8645,19 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Cancels an event.
+ /// Provide the json schema for the event with the specified name.
///
- /// The name of the app.
- /// The event to enqueue.
- /// Rule deqeued.
+ /// The type name of the event.
+ /// Rule event type found.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task DeleteEventAsync(string app, string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task GetEventSchemaAsync(string type, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- if (app == null)
- throw new System.ArgumentNullException("app");
-
- if (id == null)
- throw new System.ArgumentNullException("id");
+ if (type == null)
+ throw new System.ArgumentNullException("type");
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/apps/{app}/rules/events/{id}");
- urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
- urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture)));
+ urlBuilder_.Append("api/rules/eventtypes/{type}");
+ urlBuilder_.Replace("{type}", System.Uri.EscapeDataString(ConvertToString(type, System.Globalization.CultureInfo.InvariantCulture)));
var client_ = _httpClient;
var disposeClient_ = false;
@@ -7607,7 +8665,8 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
{
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
- request_.Method = new System.Net.Http.HttpMethod("DELETE");
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
PrepareRequest(client_, request_, urlBuilder_);
@@ -7630,15 +8689,20 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
ProcessResponse(client_, response_);
var status_ = (int)response_.StatusCode;
- if (status_ == 204)
+ if (status_ == 200)
{
- return;
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
}
else
if (status_ == 404)
{
string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
- throw new SquidexManagementException("App or rule event not found.", status_, responseText_, headers_, null);
+ throw new SquidexManagementException("Rule event not found.", status_, responseText_, headers_, null);
}
else
if (status_ == 500)
@@ -7663,23 +8727,183 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
}
}
}
- finally
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ protected struct ObjectResponseResult
+ {
+ public ObjectResponseResult(T responseObject, string responseText)
+ {
+ this.Object = responseObject;
+ this.Text = responseText;
+ }
+
+ public T Object { get; }
+
+ public string Text { get; }
+ }
+
+ public bool ReadResponseAsString { get; set; }
+
+ protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken)
+ {
+ if (response == null || response.Content == null)
+ {
+ return new ObjectResponseResult(default(T), string.Empty);
+ }
+
+ if (ReadResponseAsString)
+ {
+ var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ var typedBody = Newtonsoft.Json.JsonConvert.DeserializeObject(responseText, JsonSerializerSettings);
+ return new ObjectResponseResult(typedBody, responseText);
+ }
+ catch (Newtonsoft.Json.JsonException exception)
+ {
+ var message = "Could not deserialize the response body string as " + typeof(T).FullName + ".";
+ throw new SquidexManagementException(message, (int)response.StatusCode, responseText, headers, exception);
+ }
+ }
+ else
+ {
+ try
+ {
+ using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
+ using (var streamReader = new System.IO.StreamReader(responseStream))
+ using (var jsonTextReader = new Newtonsoft.Json.JsonTextReader(streamReader))
+ {
+ var serializer = Newtonsoft.Json.JsonSerializer.Create(JsonSerializerSettings);
+ var typedBody = serializer.Deserialize(jsonTextReader);
+ return new ObjectResponseResult(typedBody, string.Empty);
+ }
+ }
+ catch (Newtonsoft.Json.JsonException exception)
+ {
+ var message = "Could not deserialize the response body stream as " + typeof(T).FullName + ".";
+ throw new SquidexManagementException(message, (int)response.StatusCode, string.Empty, headers, exception);
+ }
+ }
+ }
+
+ private string ConvertToString(object value, System.Globalization.CultureInfo cultureInfo)
+ {
+ if (value == null)
+ {
+ return "";
+ }
+
+ if (value is System.Enum)
+ {
+ var name = System.Enum.GetName(value.GetType(), value);
+ if (name != null)
+ {
+ var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name);
+ if (field != null)
+ {
+ var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute))
+ as System.Runtime.Serialization.EnumMemberAttribute;
+ if (attribute != null)
+ {
+ return attribute.Value != null ? attribute.Value : name;
+ }
+ }
+
+ var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo));
+ return converted == null ? string.Empty : converted;
+ }
+ }
+ else if (value is bool)
+ {
+ return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant();
+ }
+ else if (value is byte[])
+ {
+ return System.Convert.ToBase64String((byte[]) value);
+ }
+ else if (value.GetType().IsArray)
{
- if (disposeClient_)
- client_.Dispose();
+ var array = System.Linq.Enumerable.OfType((System.Array) value);
+ return string.Join(",", System.Linq.Enumerable.Select(array, o => ConvertToString(o, cultureInfo)));
}
+
+ var result = System.Convert.ToString(value, cultureInfo);
+ return result == null ? "" : result;
}
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
+ public partial interface IPlansClient
+ {
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Provide a list of all event types that are used in rules.
+ /// Get app plan information.
///
- /// Rule events returned.
+ /// The name of the app.
+ /// App plan information returned.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task> GetEventTypesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ System.Threading.Tasks.Task GetPlansAsync(string app, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Change the app plan.
+ ///
+ /// The name of the app.
+ /// Plan object that needs to be changed.
+ /// Plan changed or redirect url returned.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task PutPlanAsync(string app, ChangePlanDto request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
+ public partial class PlansClient : IPlansClient
+ {
+ private System.Net.Http.HttpClient _httpClient;
+ private System.Lazy _settings;
+
+ public PlansClient(System.Net.Http.HttpClient httpClient)
+ {
+ _httpClient = httpClient;
+ _settings = new System.Lazy(CreateSerializerSettings);
+ }
+
+ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
+ {
+ var settings = new Newtonsoft.Json.JsonSerializerSettings();
+ UpdateJsonSerializerSettings(settings);
+ return settings;
+ }
+
+ protected Newtonsoft.Json.JsonSerializerSettings JsonSerializerSettings { get { return _settings.Value; } }
+
+ partial void UpdateJsonSerializerSettings(Newtonsoft.Json.JsonSerializerSettings settings);
+
+ partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url);
+ partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder);
+ partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response);
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get app plan information.
+ ///
+ /// The name of the app.
+ /// App plan information returned.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetPlansAsync(string app, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
+ if (app == null)
+ throw new System.ArgumentNullException("app");
+
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/rules/eventtypes");
+ urlBuilder_.Append("api/apps/{app}/plans");
+ urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
var client_ = _httpClient;
var disposeClient_ = false;
@@ -7713,7 +8937,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
var status_ = (int)response_.StatusCode;
if (status_ == 200)
{
- var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
@@ -7721,6 +8945,12 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
return objectResponse_.Object;
}
else
+ if (status_ == 404)
+ {
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("App not found.", status_, responseText_, headers_, null);
+ }
+ else
if (status_ == 500)
{
var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
@@ -7752,19 +8982,23 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Provide the json schema for the event with the specified name.
+ /// Change the app plan.
///
- /// The type name of the event.
- /// Rule event type found.
+ /// The name of the app.
+ /// Plan object that needs to be changed.
+ /// Plan changed or redirect url returned.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task GetEventSchemaAsync(string type, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task PutPlanAsync(string app, ChangePlanDto request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- if (type == null)
- throw new System.ArgumentNullException("type");
+ if (app == null)
+ throw new System.ArgumentNullException("app");
+
+ if (request == null)
+ throw new System.ArgumentNullException("request");
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/rules/eventtypes/{type}");
- urlBuilder_.Replace("{type}", System.Uri.EscapeDataString(ConvertToString(type, System.Globalization.CultureInfo.InvariantCulture)));
+ urlBuilder_.Append("api/apps/{app}/plan");
+ urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
var client_ = _httpClient;
var disposeClient_ = false;
@@ -7772,7 +9006,10 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
{
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
- request_.Method = new System.Net.Http.HttpMethod("GET");
+ var content_ = new System.Net.Http.StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(request, _settings.Value));
+ content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+ request_.Content = content_;
+ request_.Method = new System.Net.Http.HttpMethod("PUT");
request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
PrepareRequest(client_, request_, urlBuilder_);
@@ -7798,7 +9035,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
var status_ = (int)response_.StatusCode;
if (status_ == 200)
{
- var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
@@ -7806,10 +9043,20 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
return objectResponse_.Object;
}
else
+ if (status_ == 400)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("Plan not owned by user.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
if (status_ == 404)
{
string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
- throw new SquidexManagementException("Rule event not found.", status_, responseText_, headers_, null);
+ throw new SquidexManagementException("App not found.", status_, responseText_, headers_, null);
}
else
if (status_ == 500)
@@ -7945,37 +9192,43 @@ private string ConvertToString(object value, System.Globalization.CultureInfo cu
}
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial interface IPlansClient
+ public partial interface IPingClient
{
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get app plan information.
+ /// Get API information.
///
- /// The name of the app.
- /// App plan information returned.
+ /// Infos returned.
/// A server side error occurred.
- System.Threading.Tasks.Task GetPlansAsync(string app, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+ System.Threading.Tasks.Task> GetInfoAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Change the app plan.
+ /// Get ping status of the API.
+ ///
+ /// Service ping successful.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task GetPingAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get ping status.
///
/// The name of the app.
- /// Plan object that needs to be changed.
- /// Plan changed or redirect url returned.
+ /// Service ping successful.
/// A server side error occurred.
- System.Threading.Tasks.Task PutPlanAsync(string app, ChangePlanDto request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+ System.Threading.Tasks.Task GetAppPingAsync(string app, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
}
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial class PlansClient : IPlansClient
+ public partial class PingClient : IPingClient
{
private System.Net.Http.HttpClient _httpClient;
private System.Lazy _settings;
- public PlansClient(System.Net.Http.HttpClient httpClient)
+ public PingClient(System.Net.Http.HttpClient httpClient)
{
_httpClient = httpClient;
_settings = new System.Lazy(CreateSerializerSettings);
@@ -7998,19 +9251,14 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get app plan information.
+ /// Get API information.
///
- /// The name of the app.
- /// App plan information returned.
+ /// Infos returned.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task GetPlansAsync(string app, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task> GetInfoAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- if (app == null)
- throw new System.ArgumentNullException("app");
-
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/apps/{app}/plans");
- urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
+ urlBuilder_.Append("api/info");
var client_ = _httpClient;
var disposeClient_ = false;
@@ -8044,7 +9292,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
var status_ = (int)response_.StatusCode;
if (status_ == 200)
{
- var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
@@ -8052,12 +9300,6 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
return objectResponse_.Object;
}
else
- if (status_ == 404)
- {
- string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
- throw new SquidexManagementException("App not found.", status_, responseText_, headers_, null);
- }
- else
if (status_ == 500)
{
var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
@@ -8089,23 +9331,14 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Change the app plan.
+ /// Get ping status of the API.
///
- /// The name of the app.
- /// Plan object that needs to be changed.
- /// Plan changed or redirect url returned.
+ /// Service ping successful.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task PutPlanAsync(string app, ChangePlanDto request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task GetPingAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- if (app == null)
- throw new System.ArgumentNullException("app");
-
- if (request == null)
- throw new System.ArgumentNullException("request");
-
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/apps/{app}/plan");
- urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
+ urlBuilder_.Append("api/ping");
var client_ = _httpClient;
var disposeClient_ = false;
@@ -8113,11 +9346,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
{
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
- var content_ = new System.Net.Http.StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(request, _settings.Value));
- content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
- request_.Content = content_;
- request_.Method = new System.Net.Http.HttpMethod("PUT");
- request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+ request_.Method = new System.Net.Http.HttpMethod("GET");
PrepareRequest(client_, request_, urlBuilder_);
@@ -8140,30 +9369,88 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
ProcessResponse(client_, response_);
var status_ = (int)response_.StatusCode;
- if (status_ == 200)
+ if (status_ == 204)
{
- var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ return;
+ }
+ else
+ if (status_ == 500)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
}
- return objectResponse_.Object;
+ throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
}
else
- if (status_ == 400)
{
- var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
- if (objectResponse_.Object == null)
- {
- throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
- }
- throw new SquidexManagementException("Plan not owned by user.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
+ }
+ }
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get ping status.
+ ///
+ /// The name of the app.
+ /// Service ping successful.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task GetAppPingAsync(string app, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ {
+ if (app == null)
+ throw new System.ArgumentNullException("app");
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+ urlBuilder_.Append("api/ping/{app}");
+ urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
+ {
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ request_.Method = new System.Net.Http.HttpMethod("GET");
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
}
- else
- if (status_ == 404)
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 204)
{
- string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
- throw new SquidexManagementException("App not found.", status_, responseText_, headers_, null);
+ return;
}
else
if (status_ == 500)
@@ -8299,43 +9586,27 @@ private string ConvertToString(object value, System.Globalization.CultureInfo cu
}
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial interface IPingClient
+ public partial interface INewsClient
{
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get API information.
- ///
- /// Infos returned.
- /// A server side error occurred.
- System.Threading.Tasks.Task> GetInfoAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
-
- /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
- ///
- /// Get ping status of the API.
- ///
- /// Service ping successful.
- /// A server side error occurred.
- System.Threading.Tasks.Task GetPingAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
-
- /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
- ///
- /// Get ping status.
+ /// Get features since version.
///
- /// The name of the app.
- /// Service ping successful.
+ /// The latest received version.
+ /// Latest features returned.
/// A server side error occurred.
- System.Threading.Tasks.Task GetAppPingAsync(string app, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+ System.Threading.Tasks.Task GetNewsAsync(int? version = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
}
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial class PingClient : IPingClient
+ public partial class NewsClient : INewsClient
{
private System.Net.Http.HttpClient _httpClient;
private System.Lazy _settings;
- public PingClient(System.Net.Http.HttpClient httpClient)
+ public NewsClient(System.Net.Http.HttpClient httpClient)
{
_httpClient = httpClient;
_settings = new System.Lazy(CreateSerializerSettings);
@@ -8358,14 +9629,20 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get API information.
+ /// Get features since version.
///
- /// Infos returned.
+ /// The latest received version.
+ /// Latest features returned.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task> GetInfoAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task GetNewsAsync(int? version = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/info");
+ urlBuilder_.Append("api/news/features?");
+ if (version != null)
+ {
+ urlBuilder_.Append(System.Uri.EscapeDataString("version") + "=").Append(System.Uri.EscapeDataString(ConvertToString(version, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
+ }
+ urlBuilder_.Length--;
var client_ = _httpClient;
var disposeClient_ = false;
@@ -8399,7 +9676,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
var status_ = (int)response_.StatusCode;
if (status_ == 200)
{
- var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
@@ -8436,95 +9713,160 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
}
}
- /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
- ///
- /// Get ping status of the API.
- ///
- /// Service ping successful.
- /// A server side error occurred.
- public virtual async System.Threading.Tasks.Task GetPingAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ protected struct ObjectResponseResult
{
- var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/ping");
-
- var client_ = _httpClient;
- var disposeClient_ = false;
- try
+ public ObjectResponseResult(T responseObject, string responseText)
{
- using (var request_ = new System.Net.Http.HttpRequestMessage())
- {
- request_.Method = new System.Net.Http.HttpMethod("GET");
+ this.Object = responseObject;
+ this.Text = responseText;
+ }
- PrepareRequest(client_, request_, urlBuilder_);
+ public T Object { get; }
- var url_ = urlBuilder_.ToString();
- request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+ public string Text { get; }
+ }
- PrepareRequest(client_, request_, url_);
+ public bool ReadResponseAsString { get; set; }
- var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
- var disposeResponse_ = true;
- try
+ protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken)
+ {
+ if (response == null || response.Content == null)
+ {
+ return new ObjectResponseResult(default(T), string.Empty);
+ }
+
+ if (ReadResponseAsString)
+ {
+ var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ var typedBody = Newtonsoft.Json.JsonConvert.DeserializeObject(responseText, JsonSerializerSettings);
+ return new ObjectResponseResult(typedBody, responseText);
+ }
+ catch (Newtonsoft.Json.JsonException exception)
+ {
+ var message = "Could not deserialize the response body string as " + typeof(T).FullName + ".";
+ throw new SquidexManagementException(message, (int)response.StatusCode, responseText, headers, exception);
+ }
+ }
+ else
+ {
+ try
+ {
+ using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
+ using (var streamReader = new System.IO.StreamReader(responseStream))
+ using (var jsonTextReader = new Newtonsoft.Json.JsonTextReader(streamReader))
{
- var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
- if (response_.Content != null && response_.Content.Headers != null)
- {
- foreach (var item_ in response_.Content.Headers)
- headers_[item_.Key] = item_.Value;
- }
+ var serializer = Newtonsoft.Json.JsonSerializer.Create(JsonSerializerSettings);
+ var typedBody = serializer.Deserialize(jsonTextReader);
+ return new ObjectResponseResult(typedBody, string.Empty);
+ }
+ }
+ catch (Newtonsoft.Json.JsonException exception)
+ {
+ var message = "Could not deserialize the response body stream as " + typeof(T).FullName + ".";
+ throw new SquidexManagementException(message, (int)response.StatusCode, string.Empty, headers, exception);
+ }
+ }
+ }
- ProcessResponse(client_, response_);
+ private string ConvertToString(object value, System.Globalization.CultureInfo cultureInfo)
+ {
+ if (value == null)
+ {
+ return "";
+ }
- var status_ = (int)response_.StatusCode;
- if (status_ == 204)
- {
- return;
- }
- else
- if (status_ == 500)
- {
- var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
- if (objectResponse_.Object == null)
- {
- throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
- }
- throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
- }
- else
+ if (value is System.Enum)
+ {
+ var name = System.Enum.GetName(value.GetType(), value);
+ if (name != null)
+ {
+ var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name);
+ if (field != null)
+ {
+ var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute))
+ as System.Runtime.Serialization.EnumMemberAttribute;
+ if (attribute != null)
{
- var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
- throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ return attribute.Value != null ? attribute.Value : name;
}
}
- finally
- {
- if (disposeResponse_)
- response_.Dispose();
- }
+
+ var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo));
+ return converted == null ? string.Empty : converted;
}
}
- finally
+ else if (value is bool)
{
- if (disposeClient_)
- client_.Dispose();
+ return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant();
+ }
+ else if (value is byte[])
+ {
+ return System.Convert.ToBase64String((byte[]) value);
+ }
+ else if (value.GetType().IsArray)
+ {
+ var array = System.Linq.Enumerable.OfType((System.Array) value);
+ return string.Join(",", System.Linq.Enumerable.Select(array, o => ConvertToString(o, cultureInfo)));
}
+
+ var result = System.Convert.ToString(value, cultureInfo);
+ return result == null ? "" : result;
}
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
+ public partial interface ILanguagesClient
+ {
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get ping status.
+ /// Get supported languages.
///
- /// The name of the app.
- /// Service ping successful.
+ /// Supported language codes returned.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task> GetLanguagesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ }
+
+ [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
+ public partial class LanguagesClient : ILanguagesClient
+ {
+ private System.Net.Http.HttpClient _httpClient;
+ private System.Lazy _settings;
+
+ public LanguagesClient(System.Net.Http.HttpClient httpClient)
+ {
+ _httpClient = httpClient;
+ _settings = new System.Lazy(CreateSerializerSettings);
+ }
+
+ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
+ {
+ var settings = new Newtonsoft.Json.JsonSerializerSettings();
+ UpdateJsonSerializerSettings(settings);
+ return settings;
+ }
+
+ protected Newtonsoft.Json.JsonSerializerSettings JsonSerializerSettings { get { return _settings.Value; } }
+
+ partial void UpdateJsonSerializerSettings(Newtonsoft.Json.JsonSerializerSettings settings);
+
+ partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url);
+ partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder);
+ partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response);
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Get supported languages.
+ ///
+ /// Supported language codes returned.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task GetAppPingAsync(string app, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task> GetLanguagesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- if (app == null)
- throw new System.ArgumentNullException("app");
-
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/ping/{app}");
- urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
+ urlBuilder_.Append("api/languages");
var client_ = _httpClient;
var disposeClient_ = false;
@@ -8533,6 +9875,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
PrepareRequest(client_, request_, urlBuilder_);
@@ -8555,9 +9898,14 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
ProcessResponse(client_, response_);
var status_ = (int)response_.StatusCode;
- if (status_ == 204)
+ if (status_ == 200)
{
- return;
+ var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
}
else
if (status_ == 500)
@@ -8693,27 +10041,28 @@ private string ConvertToString(object value, System.Globalization.CultureInfo cu
}
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial interface INewsClient
+ public partial interface IHistoryClient
{
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get features since version.
+ /// Get historical events.
///
- /// The latest received version.
- /// Latest features returned.
+ /// The name of the app.
+ /// The name of the channel.
+ /// Events returned.
/// A server side error occurred.
- System.Threading.Tasks.Task GetNewsAsync(int? version = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+ System.Threading.Tasks.Task> GetHistoryAsync(string app, string channel = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
}
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial class NewsClient : INewsClient
+ public partial class HistoryClient : IHistoryClient
{
private System.Net.Http.HttpClient _httpClient;
private System.Lazy _settings;
- public NewsClient(System.Net.Http.HttpClient httpClient)
+ public HistoryClient(System.Net.Http.HttpClient httpClient)
{
_httpClient = httpClient;
_settings = new System.Lazy(CreateSerializerSettings);
@@ -8736,18 +10085,23 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get features since version.
+ /// Get historical events.
///
- /// The latest received version.
- /// Latest features returned.
+ /// The name of the app.
+ /// The name of the channel.
+ /// Events returned.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task GetNewsAsync(int? version = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task> GetHistoryAsync(string app, string channel = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
+ if (app == null)
+ throw new System.ArgumentNullException("app");
+
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/news/features?");
- if (version != null)
+ urlBuilder_.Append("api/apps/{app}/history?");
+ urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
+ if (channel != null)
{
- urlBuilder_.Append(System.Uri.EscapeDataString("version") + "=").Append(System.Uri.EscapeDataString(ConvertToString(version, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
+ urlBuilder_.Append(System.Uri.EscapeDataString("channel") + "=").Append(System.Uri.EscapeDataString(ConvertToString(channel, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
}
urlBuilder_.Length--;
@@ -8783,7 +10137,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
var status_ = (int)response_.StatusCode;
if (status_ == 200)
{
- var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
@@ -8791,6 +10145,12 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
return objectResponse_.Object;
}
else
+ if (status_ == 404)
+ {
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("App not found.", status_, responseText_, headers_, null);
+ }
+ else
if (status_ == 500)
{
var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
@@ -8924,26 +10284,53 @@ private string ConvertToString(object value, System.Globalization.CultureInfo cu
}
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial interface ILanguagesClient
+ public partial interface IEventConsumersClient
{
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get supported languages.
+ /// Get event consumers.
///
- /// Supported language codes returned.
+ /// Event consumers returned.
/// A server side error occurred.
- System.Threading.Tasks.Task> GetLanguagesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+ System.Threading.Tasks.Task GetEventConsumersAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Start an event consumer.
+ ///
+ /// The name of the event consumer.
+ /// Event consumer started asynchronously.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task StartEventConsumerAsync(string consumerName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Stop an event consumer.
+ ///
+ /// The name of the event consumer.
+ /// Event consumer stopped asynchronously.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task StopEventConsumerAsync(string consumerName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
+
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Reset an event consumer.
+ ///
+ /// The name of the event consumer.
+ /// Event consumer resetted asynchronously.
+ /// A server side error occurred.
+ System.Threading.Tasks.Task ResetEventConsumerAsync(string consumerName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
}
[System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial class LanguagesClient : ILanguagesClient
+ public partial class EventConsumersClient : IEventConsumersClient
{
private System.Net.Http.HttpClient _httpClient;
private System.Lazy _settings;
- public LanguagesClient(System.Net.Http.HttpClient httpClient)
+ public EventConsumersClient(System.Net.Http.HttpClient httpClient)
{
_httpClient = httpClient;
_settings = new System.Lazy(CreateSerializerSettings);
@@ -8966,14 +10353,14 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get supported languages.
+ /// Get event consumers.
///
- /// Supported language codes returned.
+ /// Event consumers returned.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task> GetLanguagesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task GetEventConsumersAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/languages");
+ urlBuilder_.Append("api/event-consumers");
var client_ = _httpClient;
var disposeClient_ = false;
@@ -9007,7 +10394,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
var status_ = (int)response_.StatusCode;
if (status_ == 200)
{
- var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
@@ -9044,173 +10431,205 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
}
}
- protected struct ObjectResponseResult
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Start an event consumer.
+ ///
+ /// The name of the event consumer.
+ /// Event consumer started asynchronously.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task StartEventConsumerAsync(string consumerName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- public ObjectResponseResult(T responseObject, string responseText)
+ if (consumerName == null)
+ throw new System.ArgumentNullException("consumerName");
+
+ var urlBuilder_ = new System.Text.StringBuilder();
+ urlBuilder_.Append("api/event-consumers/{consumerName}/start");
+ urlBuilder_.Replace("{consumerName}", System.Uri.EscapeDataString(ConvertToString(consumerName, System.Globalization.CultureInfo.InvariantCulture)));
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
{
- this.Object = responseObject;
- this.Text = responseText;
- }
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
+ {
+ request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json");
+ request_.Method = new System.Net.Http.HttpMethod("PUT");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
- public T Object { get; }
+ PrepareRequest(client_, request_, urlBuilder_);
- public string Text { get; }
- }
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
- public bool ReadResponseAsString { get; set; }
+ PrepareRequest(client_, request_, url_);
- protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken)
- {
- if (response == null || response.Content == null)
- {
- return new ObjectResponseResult(default(T), string.Empty);
- }
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
+ {
+ var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
- if (ReadResponseAsString)
- {
- var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
- try
- {
- var typedBody = Newtonsoft.Json.JsonConvert.DeserializeObject(responseText, JsonSerializerSettings);
- return new ObjectResponseResult(typedBody, responseText);
- }
- catch (Newtonsoft.Json.JsonException exception)
- {
- var message = "Could not deserialize the response body string as " + typeof(T).FullName + ".";
- throw new SquidexManagementException(message, (int)response.StatusCode, responseText, headers, exception);
- }
- }
- else
- {
- try
- {
- using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
- using (var streamReader = new System.IO.StreamReader(responseStream))
- using (var jsonTextReader = new Newtonsoft.Json.JsonTextReader(streamReader))
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 404)
+ {
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("Event consumer not found.", status_, responseText_, headers_, null);
+ }
+ else
+ if (status_ == 500)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
+ }
+ }
+ finally
{
- var serializer = Newtonsoft.Json.JsonSerializer.Create(JsonSerializerSettings);
- var typedBody = serializer.Deserialize(jsonTextReader);
- return new ObjectResponseResult(typedBody, string.Empty);
+ if (disposeResponse_)
+ response_.Dispose();
}
}
- catch (Newtonsoft.Json.JsonException exception)
- {
- var message = "Could not deserialize the response body stream as " + typeof(T).FullName + ".";
- throw new SquidexManagementException(message, (int)response.StatusCode, string.Empty, headers, exception);
- }
+ }
+ finally
+ {
+ if (disposeClient_)
+ client_.Dispose();
}
}
- private string ConvertToString(object value, System.Globalization.CultureInfo cultureInfo)
+ /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ ///
+ /// Stop an event consumer.
+ ///
+ /// The name of the event consumer.
+ /// Event consumer stopped asynchronously.
+ /// A server side error occurred.
+ public virtual async System.Threading.Tasks.Task StopEventConsumerAsync(string consumerName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- if (value == null)
- {
- return "";
- }
+ if (consumerName == null)
+ throw new System.ArgumentNullException("consumerName");
- if (value is System.Enum)
+ var urlBuilder_ = new System.Text.StringBuilder();
+ urlBuilder_.Append("api/event-consumers/{consumerName}/stop");
+ urlBuilder_.Replace("{consumerName}", System.Uri.EscapeDataString(ConvertToString(consumerName, System.Globalization.CultureInfo.InvariantCulture)));
+
+ var client_ = _httpClient;
+ var disposeClient_ = false;
+ try
{
- var name = System.Enum.GetName(value.GetType(), value);
- if (name != null)
+ using (var request_ = new System.Net.Http.HttpRequestMessage())
{
- var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name);
- if (field != null)
+ request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json");
+ request_.Method = new System.Net.Http.HttpMethod("PUT");
+ request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
+
+ PrepareRequest(client_, request_, urlBuilder_);
+
+ var url_ = urlBuilder_.ToString();
+ request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
+
+ PrepareRequest(client_, request_, url_);
+
+ var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
+ var disposeResponse_ = true;
+ try
{
- var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute))
- as System.Runtime.Serialization.EnumMemberAttribute;
- if (attribute != null)
+ var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value);
+ if (response_.Content != null && response_.Content.Headers != null)
+ {
+ foreach (var item_ in response_.Content.Headers)
+ headers_[item_.Key] = item_.Value;
+ }
+
+ ProcessResponse(client_, response_);
+
+ var status_ = (int)response_.StatusCode;
+ if (status_ == 200)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ return objectResponse_.Object;
+ }
+ else
+ if (status_ == 404)
{
- return attribute.Value != null ? attribute.Value : name;
+ string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("Event consumer not found.", status_, responseText_, headers_, null);
+ }
+ else
+ if (status_ == 500)
+ {
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
+ if (objectResponse_.Object == null)
+ {
+ throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
+ }
+ throw new SquidexManagementException("Operation failed.", status_, objectResponse_.Text, headers_, objectResponse_.Object, null);
+ }
+ else
+ {
+ var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
+ throw new SquidexManagementException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null);
}
}
-
- var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo));
- return converted == null ? string.Empty : converted;
+ finally
+ {
+ if (disposeResponse_)
+ response_.Dispose();
+ }
}
}
- else if (value is bool)
- {
- return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant();
- }
- else if (value is byte[])
- {
- return System.Convert.ToBase64String((byte[]) value);
- }
- else if (value.GetType().IsArray)
+ finally
{
- var array = System.Linq.Enumerable.OfType((System.Array) value);
- return string.Join(",", System.Linq.Enumerable.Select(array, o => ConvertToString(o, cultureInfo)));
+ if (disposeClient_)
+ client_.Dispose();
}
-
- var result = System.Convert.ToString(value, cultureInfo);
- return result == null ? "" : result;
- }
- }
-
- [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial interface IHistoryClient
- {
-
- /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
- ///
- /// Get historical events.
- ///
- /// The name of the app.
- /// The name of the channel.
- /// Events returned.
- /// A server side error occurred.
- System.Threading.Tasks.Task> GetHistoryAsync(string app, string channel = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
-
- }
-
- [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial class HistoryClient : IHistoryClient
- {
- private System.Net.Http.HttpClient _httpClient;
- private System.Lazy _settings;
-
- public HistoryClient(System.Net.Http.HttpClient httpClient)
- {
- _httpClient = httpClient;
- _settings = new System.Lazy(CreateSerializerSettings);
}
- private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
- {
- var settings = new Newtonsoft.Json.JsonSerializerSettings();
- UpdateJsonSerializerSettings(settings);
- return settings;
- }
-
- protected Newtonsoft.Json.JsonSerializerSettings JsonSerializerSettings { get { return _settings.Value; } }
-
- partial void UpdateJsonSerializerSettings(Newtonsoft.Json.JsonSerializerSettings settings);
-
- partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url);
- partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder);
- partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response);
-
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
- /// Get historical events.
+ /// Reset an event consumer.
///
- /// The name of the app.
- /// The name of the channel.
- /// Events returned.
+ /// The name of the event consumer.
+ /// Event consumer resetted asynchronously.
/// A server side error occurred.
- public virtual async System.Threading.Tasks.Task> GetHistoryAsync(string app, string channel = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
+ public virtual async System.Threading.Tasks.Task ResetEventConsumerAsync(string consumerName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
{
- if (app == null)
- throw new System.ArgumentNullException("app");
+ if (consumerName == null)
+ throw new System.ArgumentNullException("consumerName");
var urlBuilder_ = new System.Text.StringBuilder();
- urlBuilder_.Append("api/apps/{app}/history?");
- urlBuilder_.Replace("{app}", System.Uri.EscapeDataString(ConvertToString(app, System.Globalization.CultureInfo.InvariantCulture)));
- if (channel != null)
- {
- urlBuilder_.Append(System.Uri.EscapeDataString("channel") + "=").Append(System.Uri.EscapeDataString(ConvertToString(channel, System.Globalization.CultureInfo.InvariantCulture))).Append("&");
- }
- urlBuilder_.Length--;
+ urlBuilder_.Append("api/event-consumers/{consumerName}/reset");
+ urlBuilder_.Replace("{consumerName}", System.Uri.EscapeDataString(ConvertToString(consumerName, System.Globalization.CultureInfo.InvariantCulture)));
var client_ = _httpClient;
var disposeClient_ = false;
@@ -9218,7 +10637,8 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
{
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
- request_.Method = new System.Net.Http.HttpMethod("GET");
+ request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json");
+ request_.Method = new System.Net.Http.HttpMethod("PUT");
request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
PrepareRequest(client_, request_, urlBuilder_);
@@ -9244,7 +10664,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
var status_ = (int)response_.StatusCode;
if (status_ == 200)
{
- var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false);
+ var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new SquidexManagementException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null);
@@ -9255,7 +10675,7 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
if (status_ == 404)
{
string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false);
- throw new SquidexManagementException("App not found.", status_, responseText_, headers_, null);
+ throw new SquidexManagementException("Event consumer not found.", status_, responseText_, headers_, null);
}
else
if (status_ == 500)
@@ -11713,8 +13133,8 @@ public partial interface IAssetsClient
/// Get assets.
///
/// The name of the app.
- /// Optional number of contents to take.
- /// Optional number of contents to skip.
+ /// Optional number of items to take.
+ /// Optional number of items to skip.
/// Optional OData order definition.
/// Optional OData filter.
/// The optional parent folder id.
@@ -12907,8 +14327,8 @@ private Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings()
/// Get assets.
///
/// The name of the app.
- /// Optional number of contents to take.
- /// Optional number of contents to skip.
+ /// Optional number of items to take.
+ /// Optional number of items to skip.
/// Optional OData order definition.
/// Optional OData filter.
/// The optional parent folder id.
@@ -17920,170 +19340,11 @@ public partial class UserProperty
{
[Newtonsoft.Json.JsonProperty("name", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
[System.ComponentModel.DataAnnotations.Required]
- public string Name { get; set; }
-
- [Newtonsoft.Json.JsonProperty("value", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public string Value { get; set; }
-
- }
-
- [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial class UsersDto : Resource
- {
- ///
- /// The total number of users.
- ///
- [Newtonsoft.Json.JsonProperty("total", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- public long Total { get; set; }
-
- ///
- /// The users.
- ///
- [Newtonsoft.Json.JsonProperty("items", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public System.Collections.Generic.List Items { get; set; } = new System.Collections.Generic.List();
-
- }
-
- [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial class UserDto : Resource
- {
- ///
- /// The id of the user.
- ///
- [Newtonsoft.Json.JsonProperty("id", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public string Id { get; set; }
-
- ///
- /// The email of the user. Unique value.
- ///
- [Newtonsoft.Json.JsonProperty("email", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public string Email { get; set; }
-
- ///
- /// The display name (usually first name and last name) of the user.
- ///
- [Newtonsoft.Json.JsonProperty("displayName", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public string DisplayName { get; set; }
-
- ///
- /// Determines if the user is locked.
- ///
- [Newtonsoft.Json.JsonProperty("isLocked", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- public bool IsLocked { get; set; }
-
- ///
- /// Additional permissions for the user.
- ///
- [Newtonsoft.Json.JsonProperty("permissions", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public System.Collections.Generic.List Permissions { get; set; } = new System.Collections.Generic.List();
-
- }
-
- [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public abstract partial class Resource
- {
- ///
- /// The links.
- ///
- [Newtonsoft.Json.JsonProperty("_links", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public System.Collections.Generic.Dictionary _links { get; set; } = new System.Collections.Generic.Dictionary();
-
- }
-
- [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial class ResourceLink
- {
- ///
- /// The link url.
- ///
- [Newtonsoft.Json.JsonProperty("href", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public string Href { get; set; }
-
- ///
- /// The link method.
- ///
- [Newtonsoft.Json.JsonProperty("method", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public string Method { get; set; }
-
- ///
- /// Additional data about the link.
- ///
- [Newtonsoft.Json.JsonProperty("metadata", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- public string Metadata { get; set; }
-
- }
-
- [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v9.0.0.0))")]
- public partial class CreateUserDto
- {
- ///
- /// The email of the user. Unique value.
- ///
- [Newtonsoft.Json.JsonProperty("email", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public string Email { get; set; }
-
- ///
- /// The display name (usually first name and last name) of the user.
- ///
- [Newtonsoft.Json.JsonProperty("displayName", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public string DisplayName { get; set; }
-
- ///
- /// The password of the user.
- ///
- [Newtonsoft.Json.JsonProperty("password", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public string Password { get; set; }
-
- ///
- /// Additional permissions for the user.
- ///
- [Newtonsoft.Json.JsonProperty("permissions", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
- [System.ComponentModel.DataAnnotations.Required]
- public System.Collections.Generic.List Permissions { get; set; } = new System.Collections.Generic.List