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 */