From 649a8d5d3f7e200f8b92be6562281e073646a0d3 Mon Sep 17 00:00:00 2001 From: Bas van den Aakster Date: Sat, 8 Nov 2025 11:35:00 +0100 Subject: [PATCH] Update client to use /topics endpoint and add getVersion method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update listTopics() to use /topics endpoint instead of / - Add getVersion() method to fetch server version information - Add VersionResponse type and export it 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/client.ts | 21 ++++++++++++++++++++- src/index.ts | 1 + src/types.ts | 8 ++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/client.ts b/src/client.ts index 10ed7bb..5aefb88 100644 --- a/src/client.ts +++ b/src/client.ts @@ -9,6 +9,7 @@ import { PollRequest, PollOffererResponse, PollAnswererResponse, + VersionResponse, HealthResponse, ErrorResponse, Side, @@ -62,6 +63,24 @@ export class RondevuClient { return data as T; } + /** + * Gets server version information + * + * @returns Server version (git commit hash) + * + * @example + * ```typescript + * const client = new RondevuClient({ baseUrl: 'https://example.com' }); + * const { version } = await client.getVersion(); + * console.log('Server version:', version); + * ``` + */ + async getVersion(): Promise { + return this.request('/', { + method: 'GET', + }); + } + /** * Lists all topics with peer counts * @@ -81,7 +100,7 @@ export class RondevuClient { page: page.toString(), limit: limit.toString(), }); - return this.request(`/?${params}`, { + return this.request(`/topics?${params}`, { method: 'GET', }); } diff --git a/src/index.ts b/src/index.ts index 406a76c..22e963b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -35,6 +35,7 @@ export type { PollOffererResponse, PollAnswererResponse, PollResponse, + VersionResponse, HealthResponse, ErrorResponse, RondevuClientOptions, diff --git a/src/types.ts b/src/types.ts index c6af2f8..b94659c 100644 --- a/src/types.ts +++ b/src/types.ts @@ -140,6 +140,14 @@ export interface PollAnswererResponse { */ export type PollResponse = PollOffererResponse | PollAnswererResponse; +/** + * Response from GET / - server version information + */ +export interface VersionResponse { + /** Git commit hash or version identifier */ + version: string; +} + /** * Response from GET /health */