Update client to use /topics endpoint and add getVersion method

- 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 <noreply@anthropic.com>
This commit is contained in:
2025-11-08 11:35:00 +01:00
parent 2065aecc6a
commit 649a8d5d3f
3 changed files with 29 additions and 1 deletions

View File

@@ -9,6 +9,7 @@ import {
PollRequest, PollRequest,
PollOffererResponse, PollOffererResponse,
PollAnswererResponse, PollAnswererResponse,
VersionResponse,
HealthResponse, HealthResponse,
ErrorResponse, ErrorResponse,
Side, Side,
@@ -62,6 +63,24 @@ export class RondevuClient {
return data as T; 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<VersionResponse> {
return this.request<VersionResponse>('/', {
method: 'GET',
});
}
/** /**
* Lists all topics with peer counts * Lists all topics with peer counts
* *
@@ -81,7 +100,7 @@ export class RondevuClient {
page: page.toString(), page: page.toString(),
limit: limit.toString(), limit: limit.toString(),
}); });
return this.request<ListTopicsResponse>(`/?${params}`, { return this.request<ListTopicsResponse>(`/topics?${params}`, {
method: 'GET', method: 'GET',
}); });
} }

View File

@@ -35,6 +35,7 @@ export type {
PollOffererResponse, PollOffererResponse,
PollAnswererResponse, PollAnswererResponse,
PollResponse, PollResponse,
VersionResponse,
HealthResponse, HealthResponse,
ErrorResponse, ErrorResponse,
RondevuClientOptions, RondevuClientOptions,

View File

@@ -140,6 +140,14 @@ export interface PollAnswererResponse {
*/ */
export type PollResponse = PollOffererResponse | 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 * Response from GET /health
*/ */