Skip to content

chore(openapi): add the recording search endpoint to the clients - #2114

Open
irvingouj@Devolutions (irvingoujAtDevolution) wants to merge 3 commits into
masterfrom
feat/recording-search-openapi
Open

irvingouj@Devolutions (irvingoujAtDevolution) wants to merge 3 commits into
masterfrom
feat/recording-search-openapi

Conversation

@irvingoujAtDevolution

@irvingoujAtDevolution irvingouj@Devolutions (irvingoujAtDevolution) commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

The OpenAPI side of the recording search endpoint (#2112) and its paging (#2137): the regenerated gateway-api.yaml, docs, .NET client and TS Angular client.

  • JrecApi / JrecService gain SearchRecordings (POST /jet/jrec/search), with the RecordingSearchRequest, RecordingSelection, StartTimeRange, RecordingSearchResponse and RecordingSearchHit models.
  • AccessScope gains gateway.recordings.search.

Only the search parts are kept, because the generator also rewrites the pullRecordingFile content types.

Where to look: RecordingSelection in gateway-api.yaml, which is "all" or a list of IDs. In C# that's new RecordingSelection("all") or new RecordingSelection(List<Guid>).

🤖 Generated with Claude Code

Issue: DGW-463

@irvingoujAtDevolution
irvingouj@Devolutions (irvingoujAtDevolution) force-pushed the feat/recording-search-openapi branch 2 times, most recently from f0dd53b to 6b471bd Compare October 21, 2026 01:40
@irvingoujAtDevolution
irvingouj@Devolutions (irvingoujAtDevolution) changed the base branch from feat/recording-search to feat/recording-search-pagination October 21, 2026 01:40
@irvingoujAtDevolution

irvingouj@Devolutions (irvingoujAtDevolution) commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor Author

Lines changed, against #2137. All of it is generated, no hand-written code or tests:

Added Removed
gateway-api.yaml 164 0
.NET client and its docs 1141 1
TS Angular client 245 2
AsciiDoc (doc/index.adoc) 283 0

The .NET client builds with 0 errors.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The generated additions match the supplied search contract, with only a non-blocking documentation example correction remaining.

1 open issue
What changed in this PR

Exposes the recording search and pagination features from #2112 and #2137 through the OpenAPI specification and generated clients.

Changes:

  • Adds search methods and request, response, selection, and time-range models.
  • Adds the gateway.recordings.search access scope.
  • Updates generated documentation and file inventories.
File Description
devolutions-gateway/​openapi/​ts-angular-client/​model/​startTimeRange.ts Adds time-range filters.
devolutions-gateway/​openapi/​ts-angular-client/​model/​recordingSelection.ts Adds recording selection.
devolutions-gateway/​openapi/​ts-angular-client/​model/​recordingSearchResponse.ts Adds paginated results.
devolutions-gateway/​openapi/​ts-angular-client/​model/​recordingSearchRequest.ts Adds search parameters.
devolutions-gateway/​openapi/​ts-angular-client/​model/​recordingSearchHit.ts Adds hit details.
devolutions-gateway/​openapi/​ts-angular-client/​model/​models.ts Exports new models.
devolutions-gateway/​openapi/​ts-angular-client/​model/​accessScope.ts Adds search scope.
devolutions-gateway/​openapi/​ts-angular-client/​api/​jrec.service.ts Adds search operation.
devolutions-gateway/​openapi/​ts-angular-client/​.openapi-generator/​FILES Registers generated models.
devolutions-gateway/​openapi/​gateway-api.yaml Defines search endpoint and schemas.
devolutions-gateway/​openapi/​dotnet-client/​src/​Devolutions.Gateway.Client/​Model/​StartTimeRange.cs Adds time-range filters.
devolutions-gateway/​openapi/​dotnet-client/​src/​Devolutions.Gateway.Client/​Model/​RecordingSelection.cs Supports all recordings or ID lists.
devolutions-gateway/​openapi/​dotnet-client/​src/​Devolutions.Gateway.Client/​Model/​RecordingSearchResponse.cs Adds paginated results.
devolutions-gateway/​openapi/​dotnet-client/​src/​Devolutions.Gateway.Client/​Model/​RecordingSearchRequest.cs Adds search parameters.
devolutions-gateway/​openapi/​dotnet-client/​src/​Devolutions.Gateway.Client/​Model/​RecordingSearchHit.cs Adds hit details.
devolutions-gateway/​openapi/​dotnet-client/​src/​Devolutions.Gateway.Client/​Model/​AccessScope.cs Adds search scope.
devolutions-gateway/​openapi/​dotnet-client/​src/​Devolutions.Gateway.Client/​Api/​JrecApi.cs Adds synchronous and asynchronous search.
devolutions-gateway/​openapi/​dotnet-client/​README.md Links search API and models.
devolutions-gateway/​openapi/​dotnet-client/​docs/​StartTimeRange.md Documents time filters.
devolutions-gateway/​openapi/​dotnet-client/​docs/​RecordingSelection.md Documents recording selection.
devolutions-gateway/​openapi/​dotnet-client/​docs/​RecordingSearchResponse.md Documents paginated results.
devolutions-gateway/​openapi/​dotnet-client/​docs/​RecordingSearchRequest.md Documents search parameters.
devolutions-gateway/​openapi/​dotnet-client/​docs/​RecordingSearchHit.md Documents hit details.
devolutions-gateway/​openapi/​dotnet-client/​docs/​JrecApi.md Documents search usage.
devolutions-gateway/​openapi/​dotnet-client/​.openapi-generator/​FILES Registers generated files.
devolutions-gateway/​openapi/​doc/​index.adoc Adds search API reference.

Review effort: Balanced

Comment thread devolutions-gateway/openapi/dotnet-client/docs/JrecApi.md

@CBenoit Benoît Cortier (CBenoit) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Base automatically changed from feat/recording-search-pagination to master October 23, 2026 19:02
Regenerate `gateway-api.yaml`, the docs, the .NET client and the TS
Angular client for `POST /jet/jrec/search`, its paging, and the
`gateway.recordings.search` scope. Only the search parts are kept,
because the generator also rewrites the `pullRecordingFile` content
types, which belong to their own change.

Issue: DGW-463

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Regenerated with openapi-generator 7.9.0 after the search endpoint
started matching the string values of JSON log lines. Only
descriptions change: the endpoint, the hit and the response.

Issue: DGW-463

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An empty query now matches every line, as in rg and grep, so the spec
drops minLength on query and the .NET client drops its length check.
The rest is the updated descriptions.

Issue: DGW-463
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants