chore(dgw):regenerate openapi clients - #1890
chore(dgw):regenerate openapi clients#1890irvingouj@Devolutions (irvingoujAtDevolution) wants to merge 4 commits into
Conversation
Let maintainers know that an action is required on their side
|
There was a problem hiding this comment.
Pull request overview
Regenerates OpenAPI clients using Generator 7.24.0 and the 2026.2.4 API specifications.
Changes:
- Adds update and network-scanning APIs/models.
- Refreshes Angular and .NET generated clients.
- Updates generated dependencies, documentation, and metadata.
Reviewed changes
Copilot reviewed 174 out of 174 changed files in this pull request and generated 2 comments.
Show a summary per file
| File(s) | Description |
|---|---|
openapitools.json |
Pins Generator 7.24.0. |
devolutions-gateway/openapi/{gateway-api.yaml,subscriber-api.yaml} |
Updates API specifications. |
devolutions-gateway/openapi/ts-angular-client/{package.json,tsconfig.json,index.ts,configuration.ts,encoder.ts,query.params.ts,provide-api.ts,api.base.service.ts} |
Refreshes Angular client infrastructure. |
devolutions-gateway/openapi/ts-angular-client/api/{config,health,heartbeat,preflight}.service.ts |
Regenerates Angular services. |
devolutions-gateway/openapi/ts-angular-client/model/*.ts |
Regenerates enums and adds update/network models. |
devolutions-gateway/openapi/ts-angular-client/.openapi-generator/{FILES,VERSION} |
Updates generation metadata. |
devolutions-gateway/openapi/dotnet-subscriber/src/Devolutions.Gateway.Subscriber/**/*.cs |
Regenerates subscriber API sources. |
devolutions-gateway/openapi/dotnet-subscriber/src/Devolutions.Gateway.Subscriber/Devolutions.Gateway.Subscriber.csproj |
Retargets and reformats subscriber project. |
devolutions-gateway/openapi/dotnet-subscriber/.openapi-generator/VERSION |
Updates generator metadata. |
devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Model/*.cs |
Regenerates existing models and adds update/network models. |
devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Client/*.cs |
Refreshes client runtime contracts and helpers. |
devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Api/*.cs |
Regenerates API implementations. |
devolutions-gateway/openapi/dotnet-client/docs/*.md |
Updates generated API/model documentation. |
devolutions-gateway/openapi/dotnet-client/README.md |
Updates SDK reference documentation. |
devolutions-gateway/openapi/dotnet-client/.openapi-generator/{FILES,VERSION} |
Updates generation metadata. |
devolutions-gateway/openapi/doc/.openapi-generator/VERSION |
Updates documentation generator version. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 139 out of 139 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (5)
devolutions-gateway/openapi/dotnet-subscriber/src/Devolutions.Gateway.Subscriber/Devolutions.Gateway.Subscriber.csproj:6
- This regeneration downgrades the subscriber library from .NET 10 to the end-of-support .NET 6 target, which is a breaking platform regression unrelated to refreshing the OpenAPI surface. The generator configuration still pins
aspnetCoreVersionto6.0, so restore the intended target there and regenerate rather than allowing every regeneration to undo the .NET 10 upgrade.
devolutions-gateway/openapi/dotnet-client/src/Devolutions.Gateway.Client/Model/SetUpdateScheduleRequest.cs:91 UpdateWindowStartis optional and0is a valid explicit value, but this non-nullable property combined withEmitDefaultValue = falseomits0during JSON serialization. The server then applies its missing-field default of 7200, so a C# caller cannot schedule a midnight start. Generate an optional representation that distinguishes “not supplied” from0(for example, a nullable backing value) and regenerate the SDK.
devolutions-gateway/openapi/ts-angular-client/api/net.service.ts:453- This method is emitted as a normal Angular
HttpClientGET, but/jet/net/scanrequires a WebSocket Upgrade and streams frames after the 101 response.HttpClientneither performs that handshake nor exposes WebSocket frames, so this generated method cannot provide the behavior its API advertises. Exclude this operation from REST client generation or provide a WebSocket-based client implementation.
devolutions-gateway/openapi/dotnet-client/docs/UpdateApi.md:342 - The generated C# example does not compile: nullable annotations cannot be applied to an object-creation type (
new UpdateRequestSchema?()). Correct the documentation template/type rendering so optional reference types are instantiated without the?, then regenerate.
var updateRequestSchema = new UpdateRequestSchema?(); // UpdateRequestSchema? | Products and target versions to update (optional)
devolutions-gateway/openapi/dotnet-client/docs/NetApi.md:244
- All four generated examples are invalid C#: constructs such as
new List<string>?()do not compile because?cannot follow the type in an object-creation expression. Fix optional-type rendering in the documentation generator/template and regenerate these examples.
var range = new List<string>?(); // List<string>? | The start and end IP address of the range to scan. for example: 10.10.0.0-10.10.0.255 (optional)
var target = new List<string>?(); // List<string>? | Explicit single-host targets to scan. Each value must parse as an IPv4 or IPv6 address; invalid values yield a structured `{ error: \"invalid_target\", value: \"<raw>\" }` 400 rather than a generic serde rejection at extraction time (mirrors the `range=` / `probe=` validation path). (optional)
var interfaceId = new List<string>?(); // List<string>? | Gateway network interface IDs to use as scan sources. (optional)
var probe = new List<string>?(); // List<string>? | The probes to run. Each value is either `ping`, a port number (`22`), or a named service (`rdp`, `https`, …). Validation is deferred to scan-time so failures can be surfaced as a structured 400 — naming the offending value — instead of a generic serde rejection at extraction time. (optional)
03436e0 to
13b93cc
Compare
The previous run went through a shell whose console codepage was 437, so PowerShell mangled the em dashes and ellipsis coming out of cargo. Re-ran the script from a UTF-8 console.
The previous run used openapi-generator 7.24.0 instead of the 7.9.0 pinned in devolutions-gateway/openapi/openapitools.json. That churned every generated file and bumped the Angular peer dependency from 18 to 21. Also drops the stray openapitools.json that the generator wrapper left at the repository root, and restores the UTF-8 punctuation in the generated gateway document.
13b93cc to
1650a1f
Compare
just ran generate_clients.ps1, nothing updated