diff --git a/devolutions-gateway/openapi/doc/index.adoc b/devolutions-gateway/openapi/doc/index.adoc index 33101edf7..95f0604d6 100644 --- a/devolutions-gateway/openapi/doc/index.adoc +++ b/devolutions-gateway/openapi/doc/index.adoc @@ -523,6 +523,107 @@ endif::internal-generation[] === Jrec +[.deleteManyRecordings] +==== deleteManyRecordings + +`DELETE /jet/jrec/delete` + +Mass-deletes recordings stored on this instance + +===== Description + +If you try to delete more than 1,000,000 recordings at once, you should split the list into multiple requests to avoid timing out during the processing of the request. The request processing consist in 1) checking if one of the recording is active, 2) counting the number of recordings not found on this instance. When a recording is not found on this instance, a counter is incremented. This number is returned as part of the response. You may use this information to detect anomalies on your side. For instance, this suggests the list of recordings on your side is out of date, and you may want re-index. + + +// markup not found, no include::{specDir}jet/jrec/delete/DELETE/spec.adoc[opts=optional] + + + +===== Security + +[cols="2,1,1"] +|=== +| Name | Type | Scheme + +| `scope_token` +| http +| bearer +|=== + +===== Parameters + + +====== Body Parameter + +[cols="2,3,1,1,1"] +|=== +|Name| Description| Required| Default| Pattern + +| UUID +| JSON-encoded list of session IDs <> +| X +| +| + +|=== + + + + + +===== Return Type + +<> + + +===== Content Type + +* application/json + +===== Responses + +.HTTP Response Codes +[cols="2,3,1"] +|=== +| Code | Message | Datatype + + +| 200 +| Mass recording deletion task was successfully started +| <> + + +| 400 +| Bad request +| <<>> + + +| 401 +| Invalid or missing authorization token +| <<>> + + +| 403 +| Insufficient permissions +| <<>> + + +| 406 +| A recording is still ongoing and can't be deleted yet (nothing is deleted) +| <<>> + +|=== + + +ifdef::internal-generation[] +===== Implementation + +// markup not found, no include::{specDir}jet/jrec/delete/DELETE/implementation.adoc[opts=optional] + + +endif::internal-generation[] + + [.deleteRecording] ==== deleteRecording @@ -606,6 +707,11 @@ Deletes a recording stored on this instance | <<>> +| 404 +| The specified recording was not found +| <<>> + + | 406 | The recording is still ongoing and can't be deleted yet | <<>> @@ -1164,8 +1270,8 @@ endif::internal-generation[] === Update -[.update] -==== update +[.triggerUpdate] +==== triggerUpdate `POST /jet/update` @@ -1694,6 +1800,35 @@ Service configuration diagnostic |=== +[#DeleteManyResult] +=== _DeleteManyResult_ + + + + +[.fields-DeleteManyResult] +[cols="2,1,1,2,4,1"] +|=== +| Field Name| Required| Nullable | Type| Description | Format + +| found_count +| X +| +| Integer +| Number of recordings found +| + +| not_found_count +| X +| +| Integer +| Number of recordings not found +| + +|=== + + + [#Heartbeat] === _Heartbeat_ diff --git a/devolutions-gateway/openapi/dotnet-client/.openapi-generator/FILES b/devolutions-gateway/openapi/dotnet-client/.openapi-generator/FILES index fb401992e..72651137b 100644 --- a/devolutions-gateway/openapi/dotnet-client/.openapi-generator/FILES +++ b/devolutions-gateway/openapi/dotnet-client/.openapi-generator/FILES @@ -10,6 +10,7 @@ docs/ConfigDiagnostic.md docs/ConfigPatch.md docs/ConnectionMode.md docs/DataEncoding.md +docs/DeleteManyResult.md docs/DiagnosticsApi.md docs/HealthApi.md docs/Heartbeat.md @@ -64,6 +65,7 @@ src/Devolutions.Gateway.Client/Model/ConfigDiagnostic.cs src/Devolutions.Gateway.Client/Model/ConfigPatch.cs src/Devolutions.Gateway.Client/Model/ConnectionMode.cs src/Devolutions.Gateway.Client/Model/DataEncoding.cs +src/Devolutions.Gateway.Client/Model/DeleteManyResult.cs src/Devolutions.Gateway.Client/Model/Heartbeat.cs src/Devolutions.Gateway.Client/Model/Identity.cs src/Devolutions.Gateway.Client/Model/JrlInfo.cs diff --git a/devolutions-gateway/openapi/dotnet-client/README.md b/devolutions-gateway/openapi/dotnet-client/README.md index 03bf01949..2d2f28816 100644 --- a/devolutions-gateway/openapi/dotnet-client/README.md +++ b/devolutions-gateway/openapi/dotnet-client/README.md @@ -5,7 +5,7 @@ Protocol-aware fine-grained relay server This C# SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 2024.3.3 -- SDK version: 2024.10.25 +- SDK version: 2024.11.7 - Generator version: 7.9.0 - Build package: org.openapitools.codegen.languages.CSharpClientCodegen @@ -147,6 +147,7 @@ Class | Method | HTTP request | Description *DiagnosticsApi* | [**GetLogs**](docs/DiagnosticsApi.md#getlogs) | **GET** /jet/diagnostics/logs | Retrieves latest logs. *HealthApi* | [**GetHealth**](docs/HealthApi.md#gethealth) | **GET** /jet/health | Performs a health check *HeartbeatApi* | [**GetHeartbeat**](docs/HeartbeatApi.md#getheartbeat) | **GET** /jet/heartbeat | Performs a heartbeat check +*JrecApi* | [**DeleteManyRecordings**](docs/JrecApi.md#deletemanyrecordings) | **DELETE** /jet/jrec/delete | Mass-deletes recordings stored on this instance *JrecApi* | [**DeleteRecording**](docs/JrecApi.md#deleterecording) | **DELETE** /jet/jrec/delete/{id} | Deletes a recording stored on this instance *JrecApi* | [**ListRecordings**](docs/JrecApi.md#listrecordings) | **GET** /jet/jrec/list | Lists all recordings stored on this instance *JrecApi* | [**PullRecordingFile**](docs/JrecApi.md#pullrecordingfile) | **GET** /jet/jrec/pull/{id}/{filename} | Retrieves a recording file for a given session @@ -154,7 +155,7 @@ Class | Method | HTTP request | Description *JrlApi* | [**UpdateJrl**](docs/JrlApi.md#updatejrl) | **POST** /jet/jrl | Updates JRL (Json Revocation List) using a JRL token *SessionsApi* | [**GetSessions**](docs/SessionsApi.md#getsessions) | **GET** /jet/sessions | Lists running sessions *SessionsApi* | [**TerminateSession**](docs/SessionsApi.md#terminatesession) | **POST** /jet/session/{id}/terminate | Terminate forcefully a running session -*UpdateApi* | [**Update**](docs/UpdateApi.md#update) | **POST** /jet/update | Triggers Devolutions Gateway update process. +*UpdateApi* | [**TriggerUpdate**](docs/UpdateApi.md#triggerupdate) | **POST** /jet/update | Triggers Devolutions Gateway update process. *WebAppApi* | [**SignAppToken**](docs/WebAppApi.md#signapptoken) | **POST** /jet/webapp/app-token | Requests a web application token using the configured authorization method *WebAppApi* | [**SignSessionToken**](docs/WebAppApi.md#signsessiontoken) | **POST** /jet/webapp/session-token | Requests a session token using a web application token @@ -170,6 +171,7 @@ Class | Method | HTTP request | Description - [Model.ConfigPatch](docs/ConfigPatch.md) - [Model.ConnectionMode](docs/ConnectionMode.md) - [Model.DataEncoding](docs/DataEncoding.md) + - [Model.DeleteManyResult](docs/DeleteManyResult.md) - [Model.Heartbeat](docs/Heartbeat.md) - [Model.Identity](docs/Identity.md) - [Model.JrlInfo](docs/JrlInfo.md) diff --git a/devolutions-gateway/openapi/dotnet-client/config.json b/devolutions-gateway/openapi/dotnet-client/config.json index 4541749b9..186c3419c 100644 --- a/devolutions-gateway/openapi/dotnet-client/config.json +++ b/devolutions-gateway/openapi/dotnet-client/config.json @@ -2,7 +2,7 @@ "packageAuthors": "Devolutions Inc.", "packageName": "Devolutions.Gateway.Client", "packageTitle": "Devolutions Gateway REST API Client", - "packageVersion": "2024.10.25", + "packageVersion": "2024.11.7", "packageDescription": "Client for Devolutions Gateway REST API", "packageGuid": "EF1E8A60-F71D-4F02-A779-B113740FF5CC", "packageCopyright": "© Devolutions Inc. All rights reserved.", diff --git a/devolutions-gateway/openapi/dotnet-client/docs/DeleteManyResult.md b/devolutions-gateway/openapi/dotnet-client/docs/DeleteManyResult.md new file mode 100644 index 000000000..8e97c1926 --- /dev/null +++ b/devolutions-gateway/openapi/dotnet-client/docs/DeleteManyResult.md @@ -0,0 +1,11 @@ +# Devolutions.Gateway.Client.Model.DeleteManyResult + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**FoundCount** | **int** | Number of recordings found | +**NotFoundCount** | **int** | Number of recordings not found | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/devolutions-gateway/openapi/dotnet-client/docs/JrecApi.md b/devolutions-gateway/openapi/dotnet-client/docs/JrecApi.md index f5e069a3e..c12236155 100644 --- a/devolutions-gateway/openapi/dotnet-client/docs/JrecApi.md +++ b/devolutions-gateway/openapi/dotnet-client/docs/JrecApi.md @@ -4,10 +4,113 @@ All URIs are relative to *http://localhost* | Method | HTTP request | Description | |--------|--------------|-------------| +| [**DeleteManyRecordings**](JrecApi.md#deletemanyrecordings) | **DELETE** /jet/jrec/delete | Mass-deletes recordings stored on this instance | | [**DeleteRecording**](JrecApi.md#deleterecording) | **DELETE** /jet/jrec/delete/{id} | Deletes a recording stored on this instance | | [**ListRecordings**](JrecApi.md#listrecordings) | **GET** /jet/jrec/list | Lists all recordings stored on this instance | | [**PullRecordingFile**](JrecApi.md#pullrecordingfile) | **GET** /jet/jrec/pull/{id}/{filename} | Retrieves a recording file for a given session | + +# **DeleteManyRecordings** +> DeleteManyResult DeleteManyRecordings (List requestBody) + +Mass-deletes recordings stored on this instance + +If you try to delete more than 1,000,000 recordings at once, you should split the list into multiple requests to avoid timing out during the processing of the request. The request processing consist in 1) checking if one of the recording is active, 2) counting the number of recordings not found on this instance. When a recording is not found on this instance, a counter is incremented. This number is returned as part of the response. You may use this information to detect anomalies on your side. For instance, this suggests the list of recordings on your side is out of date, and you may want re-index. + +### Example +```csharp +using System.Collections.Generic; +using System.Diagnostics; +using System.Net.Http; +using Devolutions.Gateway.Client.Api; +using Devolutions.Gateway.Client.Client; +using Devolutions.Gateway.Client.Model; + +namespace Example +{ + public class DeleteManyRecordingsExample + { + public static void Main() + { + Configuration config = new Configuration(); + config.BasePath = "http://localhost"; + // Configure Bearer token for authorization: scope_token + config.AccessToken = "YOUR_BEARER_TOKEN"; + + // create instances of HttpClient, HttpClientHandler to be reused later with different Api classes + HttpClient httpClient = new HttpClient(); + HttpClientHandler httpClientHandler = new HttpClientHandler(); + var apiInstance = new JrecApi(httpClient, config, httpClientHandler); + var requestBody = new List(); // List | JSON-encoded list of session IDs + + try + { + // Mass-deletes recordings stored on this instance + DeleteManyResult result = apiInstance.DeleteManyRecordings(requestBody); + Debug.WriteLine(result); + } + catch (ApiException e) + { + Debug.Print("Exception when calling JrecApi.DeleteManyRecordings: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); + } + } + } +} +``` + +#### Using the DeleteManyRecordingsWithHttpInfo variant +This returns an ApiResponse object which contains the response data, status code and headers. + +```csharp +try +{ + // Mass-deletes recordings stored on this instance + ApiResponse response = apiInstance.DeleteManyRecordingsWithHttpInfo(requestBody); + Debug.Write("Status Code: " + response.StatusCode); + Debug.Write("Response Headers: " + response.Headers); + Debug.Write("Response Body: " + response.Data); +} +catch (ApiException e) +{ + Debug.Print("Exception when calling JrecApi.DeleteManyRecordingsWithHttpInfo: " + e.Message); + Debug.Print("Status Code: " + e.ErrorCode); + Debug.Print(e.StackTrace); +} +``` + +### Parameters + +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| **requestBody** | [**List<Guid>**](Guid.md) | JSON-encoded list of session IDs | | + +### Return type + +[**DeleteManyResult**](DeleteManyResult.md) + +### Authorization + +[scope_token](../README.md#scope_token) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Mass recording deletion task was successfully started | - | +| **400** | Bad request | - | +| **401** | Invalid or missing authorization token | - | +| **403** | Insufficient permissions | - | +| **406** | A recording is still ongoing and can't be deleted yet (nothing is deleted) | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **DeleteRecording** > void DeleteRecording (Guid id) @@ -100,6 +203,7 @@ void (empty response body) | **400** | Bad request | - | | **401** | Invalid or missing authorization token | - | | **403** | Insufficient permissions | - | +| **404** | The specified recording was not found | - | | **406** | The recording is still ongoing and can't be deleted yet | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/devolutions-gateway/openapi/dotnet-client/docs/UpdateApi.md b/devolutions-gateway/openapi/dotnet-client/docs/UpdateApi.md index b7558b153..04271407b 100644 --- a/devolutions-gateway/openapi/dotnet-client/docs/UpdateApi.md +++ b/devolutions-gateway/openapi/dotnet-client/docs/UpdateApi.md @@ -4,11 +4,11 @@ All URIs are relative to *http://localhost* | Method | HTTP request | Description | |--------|--------------|-------------| -| [**Update**](UpdateApi.md#update) | **POST** /jet/update | Triggers Devolutions Gateway update process. | +| [**TriggerUpdate**](UpdateApi.md#triggerupdate) | **POST** /jet/update | Triggers Devolutions Gateway update process. | - -# **Update** -> Object Update () + +# **TriggerUpdate** +> Object TriggerUpdate () Triggers Devolutions Gateway update process. @@ -25,7 +25,7 @@ using Devolutions.Gateway.Client.Model; namespace Example { - public class UpdateExample + public class TriggerUpdateExample { public static void Main() { @@ -42,12 +42,12 @@ namespace Example try { // Triggers Devolutions Gateway update process. - Object result = apiInstance.Update(); + Object result = apiInstance.TriggerUpdate(); Debug.WriteLine(result); } catch (ApiException e) { - Debug.Print("Exception when calling UpdateApi.Update: " + e.Message); + Debug.Print("Exception when calling UpdateApi.TriggerUpdate: " + e.Message); Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } @@ -56,21 +56,21 @@ namespace Example } ``` -#### Using the UpdateWithHttpInfo variant +#### Using the TriggerUpdateWithHttpInfo variant This returns an ApiResponse object which contains the response data, status code and headers. ```csharp try { // Triggers Devolutions Gateway update process. - ApiResponse response = apiInstance.UpdateWithHttpInfo(); + ApiResponse response = apiInstance.TriggerUpdateWithHttpInfo(); Debug.Write("Status Code: " + response.StatusCode); Debug.Write("Response Headers: " + response.Headers); Debug.Write("Response Body: " + response.Data); } catch (ApiException e) { - Debug.Print("Exception when calling UpdateApi.UpdateWithHttpInfo: " + e.Message); + Debug.Print("Exception when calling UpdateApi.TriggerUpdateWithHttpInfo: " + e.Message); Debug.Print("Status Code: " + e.ErrorCode); Debug.Print(e.StackTrace); } diff --git a/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Api/JrecApi.cs b/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Api/JrecApi.cs index 7b9d840c0..c2974d63f 100644 --- a/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Api/JrecApi.cs +++ b/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Api/JrecApi.cs @@ -29,6 +29,27 @@ public interface IJrecApiSync : IApiAccessor { #region Synchronous Operations /// + /// Mass-deletes recordings stored on this instance + /// + /// + /// If you try to delete more than 1,000,000 recordings at once, you should split the list into multiple requests to avoid timing out during the processing of the request. The request processing consist in 1) checking if one of the recording is active, 2) counting the number of recordings not found on this instance. When a recording is not found on this instance, a counter is incremented. This number is returned as part of the response. You may use this information to detect anomalies on your side. For instance, this suggests the list of recordings on your side is out of date, and you may want re-index. + /// + /// Thrown when fails to make API call + /// JSON-encoded list of session IDs + /// DeleteManyResult + DeleteManyResult DeleteManyRecordings(List requestBody); + + /// + /// Mass-deletes recordings stored on this instance + /// + /// + /// If you try to delete more than 1,000,000 recordings at once, you should split the list into multiple requests to avoid timing out during the processing of the request. The request processing consist in 1) checking if one of the recording is active, 2) counting the number of recordings not found on this instance. When a recording is not found on this instance, a counter is incremented. This number is returned as part of the response. You may use this information to detect anomalies on your side. For instance, this suggests the list of recordings on your side is out of date, and you may want re-index. + /// + /// Thrown when fails to make API call + /// JSON-encoded list of session IDs + /// ApiResponse of DeleteManyResult + ApiResponse DeleteManyRecordingsWithHttpInfo(List requestBody); + /// /// Deletes a recording stored on this instance /// /// Thrown when fails to make API call @@ -92,6 +113,29 @@ public interface IJrecApiAsync : IApiAccessor { #region Asynchronous Operations /// + /// Mass-deletes recordings stored on this instance + /// + /// + /// If you try to delete more than 1,000,000 recordings at once, you should split the list into multiple requests to avoid timing out during the processing of the request. The request processing consist in 1) checking if one of the recording is active, 2) counting the number of recordings not found on this instance. When a recording is not found on this instance, a counter is incremented. This number is returned as part of the response. You may use this information to detect anomalies on your side. For instance, this suggests the list of recordings on your side is out of date, and you may want re-index. + /// + /// Thrown when fails to make API call + /// JSON-encoded list of session IDs + /// Cancellation Token to cancel the request. + /// Task of DeleteManyResult + System.Threading.Tasks.Task DeleteManyRecordingsAsync(List requestBody, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)); + + /// + /// Mass-deletes recordings stored on this instance + /// + /// + /// If you try to delete more than 1,000,000 recordings at once, you should split the list into multiple requests to avoid timing out during the processing of the request. The request processing consist in 1) checking if one of the recording is active, 2) counting the number of recordings not found on this instance. When a recording is not found on this instance, a counter is incremented. This number is returned as part of the response. You may use this information to detect anomalies on your side. For instance, this suggests the list of recordings on your side is out of date, and you may want re-index. + /// + /// Thrown when fails to make API call + /// JSON-encoded list of session IDs + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (DeleteManyResult) + System.Threading.Tasks.Task> DeleteManyRecordingsWithHttpInfoAsync(List requestBody, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)); + /// /// Deletes a recording stored on this instance /// /// @@ -373,6 +417,135 @@ public Devolutions.Gateway.Client.Client.ExceptionFactory ExceptionFactory set { _exceptionFactory = value; } } + /// + /// Mass-deletes recordings stored on this instance If you try to delete more than 1,000,000 recordings at once, you should split the list into multiple requests to avoid timing out during the processing of the request. The request processing consist in 1) checking if one of the recording is active, 2) counting the number of recordings not found on this instance. When a recording is not found on this instance, a counter is incremented. This number is returned as part of the response. You may use this information to detect anomalies on your side. For instance, this suggests the list of recordings on your side is out of date, and you may want re-index. + /// + /// Thrown when fails to make API call + /// JSON-encoded list of session IDs + /// DeleteManyResult + public DeleteManyResult DeleteManyRecordings(List requestBody) + { + Devolutions.Gateway.Client.Client.ApiResponse localVarResponse = DeleteManyRecordingsWithHttpInfo(requestBody); + return localVarResponse.Data; + } + + /// + /// Mass-deletes recordings stored on this instance If you try to delete more than 1,000,000 recordings at once, you should split the list into multiple requests to avoid timing out during the processing of the request. The request processing consist in 1) checking if one of the recording is active, 2) counting the number of recordings not found on this instance. When a recording is not found on this instance, a counter is incremented. This number is returned as part of the response. You may use this information to detect anomalies on your side. For instance, this suggests the list of recordings on your side is out of date, and you may want re-index. + /// + /// Thrown when fails to make API call + /// JSON-encoded list of session IDs + /// ApiResponse of DeleteManyResult + public Devolutions.Gateway.Client.Client.ApiResponse DeleteManyRecordingsWithHttpInfo(List requestBody) + { + // verify the required parameter 'requestBody' is set + if (requestBody == null) + throw new Devolutions.Gateway.Client.Client.ApiException(400, "Missing required parameter 'requestBody' when calling JrecApi->DeleteManyRecordings"); + + Devolutions.Gateway.Client.Client.RequestOptions localVarRequestOptions = new Devolutions.Gateway.Client.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + var localVarContentType = Devolutions.Gateway.Client.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = Devolutions.Gateway.Client.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.Data = requestBody; + + // authentication (scope_token) required + // bearer authentication required + if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization")) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken); + } + + // make the HTTP request + var localVarResponse = this.Client.Delete("/jet/jrec/delete", localVarRequestOptions, this.Configuration); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("DeleteManyRecordings", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + + /// + /// Mass-deletes recordings stored on this instance If you try to delete more than 1,000,000 recordings at once, you should split the list into multiple requests to avoid timing out during the processing of the request. The request processing consist in 1) checking if one of the recording is active, 2) counting the number of recordings not found on this instance. When a recording is not found on this instance, a counter is incremented. This number is returned as part of the response. You may use this information to detect anomalies on your side. For instance, this suggests the list of recordings on your side is out of date, and you may want re-index. + /// + /// Thrown when fails to make API call + /// JSON-encoded list of session IDs + /// Cancellation Token to cancel the request. + /// Task of DeleteManyResult + public async System.Threading.Tasks.Task DeleteManyRecordingsAsync(List requestBody, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) + { + Devolutions.Gateway.Client.Client.ApiResponse localVarResponse = await DeleteManyRecordingsWithHttpInfoAsync(requestBody, cancellationToken).ConfigureAwait(false); + return localVarResponse.Data; + } + + /// + /// Mass-deletes recordings stored on this instance If you try to delete more than 1,000,000 recordings at once, you should split the list into multiple requests to avoid timing out during the processing of the request. The request processing consist in 1) checking if one of the recording is active, 2) counting the number of recordings not found on this instance. When a recording is not found on this instance, a counter is incremented. This number is returned as part of the response. You may use this information to detect anomalies on your side. For instance, this suggests the list of recordings on your side is out of date, and you may want re-index. + /// + /// Thrown when fails to make API call + /// JSON-encoded list of session IDs + /// Cancellation Token to cancel the request. + /// Task of ApiResponse (DeleteManyResult) + public async System.Threading.Tasks.Task> DeleteManyRecordingsWithHttpInfoAsync(List requestBody, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) + { + // verify the required parameter 'requestBody' is set + if (requestBody == null) + throw new Devolutions.Gateway.Client.Client.ApiException(400, "Missing required parameter 'requestBody' when calling JrecApi->DeleteManyRecordings"); + + + Devolutions.Gateway.Client.Client.RequestOptions localVarRequestOptions = new Devolutions.Gateway.Client.Client.RequestOptions(); + + string[] _contentTypes = new string[] { + "application/json" + }; + + // to determine the Accept header + string[] _accepts = new string[] { + "application/json" + }; + + + var localVarContentType = Devolutions.Gateway.Client.Client.ClientUtils.SelectHeaderContentType(_contentTypes); + if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); + + var localVarAccept = Devolutions.Gateway.Client.Client.ClientUtils.SelectHeaderAccept(_accepts); + if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); + + localVarRequestOptions.Data = requestBody; + + // authentication (scope_token) required + // bearer authentication required + if (!string.IsNullOrEmpty(this.Configuration.AccessToken) && !localVarRequestOptions.HeaderParameters.ContainsKey("Authorization")) + { + localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken); + } + + // make the HTTP request + + var localVarResponse = await this.AsynchronousClient.DeleteAsync("/jet/jrec/delete", localVarRequestOptions, this.Configuration, cancellationToken).ConfigureAwait(false); + + if (this.ExceptionFactory != null) + { + Exception _exception = this.ExceptionFactory("DeleteManyRecordings", localVarResponse); + if (_exception != null) throw _exception; + } + + return localVarResponse; + } + /// /// Deletes a recording stored on this instance /// diff --git a/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Api/UpdateApi.cs b/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Api/UpdateApi.cs index 98d0619e6..ac8ce492a 100644 --- a/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Api/UpdateApi.cs +++ b/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Api/UpdateApi.cs @@ -35,7 +35,7 @@ public interface IUpdateApiSync : IApiAccessor /// /// Thrown when fails to make API call /// Object - Object Update(); + Object TriggerUpdate(); /// /// Triggers Devolutions Gateway update process. @@ -45,7 +45,7 @@ public interface IUpdateApiSync : IApiAccessor /// /// Thrown when fails to make API call /// ApiResponse of Object - ApiResponse UpdateWithHttpInfo(); + ApiResponse TriggerUpdateWithHttpInfo(); #endregion Synchronous Operations } @@ -64,7 +64,7 @@ public interface IUpdateApiAsync : IApiAccessor /// Thrown when fails to make API call /// Cancellation Token to cancel the request. /// Task of Object - System.Threading.Tasks.Task UpdateAsync(System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)); + System.Threading.Tasks.Task TriggerUpdateAsync(System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)); /// /// Triggers Devolutions Gateway update process. @@ -75,7 +75,7 @@ public interface IUpdateApiAsync : IApiAccessor /// Thrown when fails to make API call /// Cancellation Token to cancel the request. /// Task of ApiResponse (Object) - System.Threading.Tasks.Task> UpdateWithHttpInfoAsync(System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)); + System.Threading.Tasks.Task> TriggerUpdateWithHttpInfoAsync(System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)); #endregion Asynchronous Operations } @@ -294,9 +294,9 @@ public Devolutions.Gateway.Client.Client.ExceptionFactory ExceptionFactory /// /// Thrown when fails to make API call /// Object - public Object Update() + public Object TriggerUpdate() { - Devolutions.Gateway.Client.Client.ApiResponse localVarResponse = UpdateWithHttpInfo(); + Devolutions.Gateway.Client.Client.ApiResponse localVarResponse = TriggerUpdateWithHttpInfo(); return localVarResponse.Data; } @@ -305,7 +305,7 @@ public Object Update() /// /// Thrown when fails to make API call /// ApiResponse of Object - public Devolutions.Gateway.Client.Client.ApiResponse UpdateWithHttpInfo() + public Devolutions.Gateway.Client.Client.ApiResponse TriggerUpdateWithHttpInfo() { Devolutions.Gateway.Client.Client.RequestOptions localVarRequestOptions = new Devolutions.Gateway.Client.Client.RequestOptions(); @@ -336,7 +336,7 @@ public Devolutions.Gateway.Client.Client.ApiResponse UpdateWithHttpInfo( if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("Update", localVarResponse); + Exception _exception = this.ExceptionFactory("TriggerUpdate", localVarResponse); if (_exception != null) throw _exception; } @@ -349,9 +349,9 @@ public Devolutions.Gateway.Client.Client.ApiResponse UpdateWithHttpInfo( /// Thrown when fails to make API call /// Cancellation Token to cancel the request. /// Task of Object - public async System.Threading.Tasks.Task UpdateAsync(System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) + public async System.Threading.Tasks.Task TriggerUpdateAsync(System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { - Devolutions.Gateway.Client.Client.ApiResponse localVarResponse = await UpdateWithHttpInfoAsync(cancellationToken).ConfigureAwait(false); + Devolutions.Gateway.Client.Client.ApiResponse localVarResponse = await TriggerUpdateWithHttpInfoAsync(cancellationToken).ConfigureAwait(false); return localVarResponse.Data; } @@ -361,7 +361,7 @@ public Devolutions.Gateway.Client.Client.ApiResponse UpdateWithHttpInfo( /// Thrown when fails to make API call /// Cancellation Token to cancel the request. /// Task of ApiResponse (Object) - public async System.Threading.Tasks.Task> UpdateWithHttpInfoAsync(System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) + public async System.Threading.Tasks.Task> TriggerUpdateWithHttpInfoAsync(System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { Devolutions.Gateway.Client.Client.RequestOptions localVarRequestOptions = new Devolutions.Gateway.Client.Client.RequestOptions(); @@ -395,7 +395,7 @@ public Devolutions.Gateway.Client.Client.ApiResponse UpdateWithHttpInfo( if (this.ExceptionFactory != null) { - Exception _exception = this.ExceptionFactory("Update", localVarResponse); + Exception _exception = this.ExceptionFactory("TriggerUpdate", localVarResponse); if (_exception != null) throw _exception; } diff --git a/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Client/Configuration.cs b/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Client/Configuration.cs index eaf2d8970..0d6c485ab 100644 --- a/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Client/Configuration.cs +++ b/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Client/Configuration.cs @@ -34,7 +34,7 @@ public class Configuration : IReadableConfiguration /// Version of the package. /// /// Version of the package. - public const string Version = "2024.10.25"; + public const string Version = "2024.11.7"; /// /// Identifier for ISO 8601 DateTime Format @@ -118,7 +118,7 @@ public class Configuration : IReadableConfiguration public Configuration() { Proxy = null; - UserAgent = WebUtility.UrlEncode("OpenAPI-Generator/2024.10.25/csharp"); + UserAgent = WebUtility.UrlEncode("OpenAPI-Generator/2024.11.7/csharp"); BasePath = "http://localhost"; DefaultHeaders = new ConcurrentDictionary(); ApiKey = new ConcurrentDictionary(); @@ -541,7 +541,7 @@ public static string ToDebugReport() report += " OS: " + System.Environment.OSVersion + "\n"; report += " .NET Framework Version: " + System.Environment.Version + "\n"; report += " Version of the API: 2024.3.3\n"; - report += " SDK Package Version: 2024.10.25\n"; + report += " SDK Package Version: 2024.11.7\n"; return report; } diff --git a/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Devolutions.Gateway.Client.csproj b/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Devolutions.Gateway.Client.csproj index 0d0092236..8e8a3a078 100644 --- a/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Devolutions.Gateway.Client.csproj +++ b/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Devolutions.Gateway.Client.csproj @@ -12,7 +12,7 @@ Client for Devolutions Gateway REST API © Devolutions Inc. All rights reserved. Devolutions.Gateway.Client - 2024.10.25 + 2024.11.7 bin\$(Configuration)\$(TargetFramework)\Devolutions.Gateway.Client.xml MIT OR Apache-2.0 https://github.com/Devolutions/devolutions-gateway.git diff --git a/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Model/DeleteManyResult.cs b/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Model/DeleteManyResult.cs new file mode 100644 index 000000000..9a1c386c8 --- /dev/null +++ b/devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Model/DeleteManyResult.cs @@ -0,0 +1,112 @@ +/* + * devolutions-gateway + * + * Protocol-aware fine-grained relay server + * + * The version of the OpenAPI document: 2024.3.3 + * Contact: infos@devolutions.net + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Linq; +using System.ComponentModel.DataAnnotations; +using FileParameter = Devolutions.Gateway.Client.Client.FileParameter; +using OpenAPIDateConverter = Devolutions.Gateway.Client.Client.OpenAPIDateConverter; + +namespace Devolutions.Gateway.Client.Model +{ + /// + /// DeleteManyResult + /// + [DataContract(Name = "DeleteManyResult")] + public partial class DeleteManyResult : IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected DeleteManyResult() { } + /// + /// Initializes a new instance of the class. + /// + /// Number of recordings found (required). + /// Number of recordings not found (required). + public DeleteManyResult(int foundCount = default(int), int notFoundCount = default(int)) + { + this.FoundCount = foundCount; + this.NotFoundCount = notFoundCount; + } + + /// + /// Number of recordings found + /// + /// Number of recordings found + [DataMember(Name = "found_count", IsRequired = true, EmitDefaultValue = true)] + public int FoundCount { get; set; } + + /// + /// Number of recordings not found + /// + /// Number of recordings not found + [DataMember(Name = "not_found_count", IsRequired = true, EmitDefaultValue = true)] + public int NotFoundCount { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + sb.Append("class DeleteManyResult {\n"); + sb.Append(" FoundCount: ").Append(FoundCount).Append("\n"); + sb.Append(" NotFoundCount: ").Append(NotFoundCount).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // FoundCount (int) minimum + if (this.FoundCount < (int)0) + { + yield return new ValidationResult("Invalid value for FoundCount, must be a value greater than or equal to 0.", new [] { "FoundCount" }); + } + + // NotFoundCount (int) minimum + if (this.NotFoundCount < (int)0) + { + yield return new ValidationResult("Invalid value for NotFoundCount, must be a value greater than or equal to 0.", new [] { "NotFoundCount" }); + } + + yield break; + } + } + +} diff --git a/devolutions-gateway/openapi/gateway-api.yaml b/devolutions-gateway/openapi/gateway-api.yaml index 9be1fb809..6bbaa86be 100644 --- a/devolutions-gateway/openapi/gateway-api.yaml +++ b/devolutions-gateway/openapi/gateway-api.yaml @@ -144,6 +144,53 @@ paths: security: - scope_token: - gateway.heartbeat.read + /jet/jrec/delete: + delete: + tags: + - Jrec + summary: Mass-deletes recordings stored on this instance + description: |- + If you try to delete more than 1,000,000 recordings at once, you should split the list into multiple requests + to avoid timing out during the processing of the request. + + The request processing consist in + 1) checking if one of the recording is active, + 2) counting the number of recordings not found on this instance. + + When a recording is not found on this instance, a counter is incremented. + This number is returned as part of the response. + You may use this information to detect anomalies on your side. + For instance, this suggests the list of recordings on your side is out of date, + and you may want re-index. + operationId: DeleteManyRecordings + requestBody: + description: JSON-encoded list of session IDs + content: + application/json: + schema: + type: array + items: + type: string + format: uuid + required: true + responses: + '200': + description: Mass recording deletion task was successfully started + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteManyResult' + '400': + description: Bad request + '401': + description: Invalid or missing authorization token + '403': + description: Insufficient permissions + '406': + description: A recording is still ongoing and can't be deleted yet (nothing is deleted) + security: + - scope_token: + - gateway.recording.delete /jet/jrec/delete/{id}: delete: tags: @@ -167,6 +214,8 @@ paths: description: Invalid or missing authorization token '403': description: Insufficient permissions + '404': + description: The specified recording was not found '406': description: The recording is still ongoing and can't be deleted yet security: @@ -344,7 +393,7 @@ paths: This is done via updating `Agent/update.json` file, which is then read by Devolutions Agent when changes are detected. If the version written to `update.json` is indeed higher than the currently installed version, Devolutions Agent will proceed with the update process. - operationId: Update + operationId: TriggerUpdate responses: '200': description: Update request has been processed successfully @@ -534,6 +583,20 @@ components: - Base64Pad - Base64Url - Base64UrlPad + DeleteManyResult: + type: object + required: + - found_count + - not_found_count + properties: + found_count: + type: integer + description: Number of recordings found + minimum: 0 + not_found_count: + type: integer + description: Number of recordings not found + minimum: 0 Heartbeat: type: object required: diff --git a/devolutions-gateway/openapi/ts-angular-client/.openapi-generator/FILES b/devolutions-gateway/openapi/ts-angular-client/.openapi-generator/FILES index b73379f3d..ccf4523ec 100644 --- a/devolutions-gateway/openapi/ts-angular-client/.openapi-generator/FILES +++ b/devolutions-gateway/openapi/ts-angular-client/.openapi-generator/FILES @@ -22,6 +22,7 @@ model/configDiagnostic.ts model/configPatch.ts model/connectionMode.ts model/dataEncoding.ts +model/deleteManyResult.ts model/heartbeat.ts model/identity.ts model/jrlInfo.ts diff --git a/devolutions-gateway/openapi/ts-angular-client/README.md b/devolutions-gateway/openapi/ts-angular-client/README.md index ed6fd2493..cfae69adb 100644 --- a/devolutions-gateway/openapi/ts-angular-client/README.md +++ b/devolutions-gateway/openapi/ts-angular-client/README.md @@ -1,4 +1,4 @@ -## @devolutions/gateway-client@0.11.0 +## @devolutions/gateway-client@0.12.0 Protocol-aware fine-grained relay server @@ -23,7 +23,7 @@ Navigate to the folder of your consuming project and run one of next commands. _published:_ ``` -npm install @devolutions/gateway-client@0.11.0 --save +npm install @devolutions/gateway-client@0.12.0 --save ``` _without publishing (not recommended):_ diff --git a/devolutions-gateway/openapi/ts-angular-client/api/jrec.service.ts b/devolutions-gateway/openapi/ts-angular-client/api/jrec.service.ts index 7a185b075..9d27caff6 100644 --- a/devolutions-gateway/openapi/ts-angular-client/api/jrec.service.ts +++ b/devolutions-gateway/openapi/ts-angular-client/api/jrec.service.ts @@ -16,6 +16,8 @@ import { HttpClient, HttpHeaders, HttpParams, import { CustomHttpParameterCodec } from '../encoder'; import { Observable } from 'rxjs'; +// @ts-ignore +import { DeleteManyResult } from '../model/deleteManyResult'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; @@ -88,6 +90,88 @@ export class JrecService { return httpParams; } + /** + * Mass-deletes recordings stored on this instance + * If you try to delete more than 1,000,000 recordings at once, you should split the list into multiple requests to avoid timing out during the processing of the request. The request processing consist in 1) checking if one of the recording is active, 2) counting the number of recordings not found on this instance. When a recording is not found on this instance, a counter is incremented. This number is returned as part of the response. You may use this information to detect anomalies on your side. For instance, this suggests the list of recordings on your side is out of date, and you may want re-index. + * @param requestBody JSON-encoded list of session IDs + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public deleteManyRecordings(requestBody: Array, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public deleteManyRecordings(requestBody: Array, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteManyRecordings(requestBody: Array, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteManyRecordings(requestBody: Array, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (requestBody === null || requestBody === undefined) { + throw new Error('Required parameter requestBody was null or undefined when calling deleteManyRecordings.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarCredential: string | undefined; + // authentication (scope_token) required + localVarCredential = this.configuration.lookupCredential('scope_token'); + if (localVarCredential) { + localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential); + } + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + let localVarTransferCache: boolean | undefined = options && options.transferCache; + if (localVarTransferCache === undefined) { + localVarTransferCache = true; + } + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/jet/jrec/delete`; + return this.httpClient.request('delete', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: requestBody, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + transferCache: localVarTransferCache, + reportProgress: reportProgress + } + ); + } + /** * Deletes a recording stored on this instance * @param id Recorded session ID diff --git a/devolutions-gateway/openapi/ts-angular-client/api/update.service.ts b/devolutions-gateway/openapi/ts-angular-client/api/update.service.ts index 14c4503b9..c09b6b545 100644 --- a/devolutions-gateway/openapi/ts-angular-client/api/update.service.ts +++ b/devolutions-gateway/openapi/ts-angular-client/api/update.service.ts @@ -94,10 +94,10 @@ export class UpdateService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public update(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; - public update(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; - public update(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; - public update(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + public triggerUpdate(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public triggerUpdate(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public triggerUpdate(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public triggerUpdate(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { let localVarHeaders = this.defaultHeaders; diff --git a/devolutions-gateway/openapi/ts-angular-client/config.json b/devolutions-gateway/openapi/ts-angular-client/config.json index f4f6627a1..72c6231f9 100644 --- a/devolutions-gateway/openapi/ts-angular-client/config.json +++ b/devolutions-gateway/openapi/ts-angular-client/config.json @@ -1,6 +1,6 @@ { "npmName": "@devolutions/gateway-client", - "npmVersion": "0.11.0", + "npmVersion": "0.12.0", "license": "MIT OR Apache-2.0", "gitHost": "github.com", "gitUserId": "Devolutions", diff --git a/devolutions-gateway/openapi/ts-angular-client/model/deleteManyResult.ts b/devolutions-gateway/openapi/ts-angular-client/model/deleteManyResult.ts new file mode 100644 index 000000000..55df4ff15 --- /dev/null +++ b/devolutions-gateway/openapi/ts-angular-client/model/deleteManyResult.ts @@ -0,0 +1,22 @@ +/** + * devolutions-gateway + * + * Contact: infos@devolutions.net + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface DeleteManyResult { + /** + * Number of recordings found + */ + found_count: number; + /** + * Number of recordings not found + */ + not_found_count: number; +} + diff --git a/devolutions-gateway/openapi/ts-angular-client/model/models.ts b/devolutions-gateway/openapi/ts-angular-client/model/models.ts index 25087d0f6..12b984dcc 100644 --- a/devolutions-gateway/openapi/ts-angular-client/model/models.ts +++ b/devolutions-gateway/openapi/ts-angular-client/model/models.ts @@ -6,6 +6,7 @@ export * from './configDiagnostic'; export * from './configPatch'; export * from './connectionMode'; export * from './dataEncoding'; +export * from './deleteManyResult'; export * from './heartbeat'; export * from './identity'; export * from './jrlInfo'; diff --git a/devolutions-gateway/openapi/ts-angular-client/package.json b/devolutions-gateway/openapi/ts-angular-client/package.json index 408e02844..e8190695b 100644 --- a/devolutions-gateway/openapi/ts-angular-client/package.json +++ b/devolutions-gateway/openapi/ts-angular-client/package.json @@ -1,6 +1,6 @@ { "name": "@devolutions/gateway-client", - "version": "0.11.0", + "version": "0.12.0", "description": "OpenAPI client for @devolutions/gateway-client", "author": "OpenAPI-Generator Contributors", "repository": {