[PR 12] Implement Frontend Chat & Session API Clients (E1.S*, E2.S*) #58

Closed
opened 2025-06-24 23:56:48 +00:00 by rwachters · 0 comments
rwachters commented 2025-06-24 23:56:48 +00:00 (Migrated from github.com)

Summary

Implement KtorChatApiClient and KtorSessionApiClient classes in app/api/client.

Details

  • Implement all methods defined in the ChatApi and SessionApi interfaces.
  • Use the KtorHttpClient base setup from PR 11 to make HTTP calls, leveraging Ktor's resources feature with the common module resource classes.
  • Ensure all methods are suspend functions and return Either<ApiError, T>.

Dependencies

  • PR 11 (Frontend HttpClient & Either Conversion)
  • ChatApi, SessionApi interfaces
  • common module DTOs and Resources
  • PRs 8, 9 (Backend APIs must be wired for these to work end-to-end)

Tests

  • Add integration tests calling the actual backend endpoints via these clients.

Assignee

Maya

Labels

frontend, api, ktor, arrow, good first issue

## Summary Implement `KtorChatApiClient` and `KtorSessionApiClient` classes in `app/api/client`. ## Details - Implement all methods defined in the `ChatApi` and `SessionApi` interfaces. - Use the `KtorHttpClient` base setup from PR 11 to make HTTP calls, leveraging Ktor's `resources` feature with the `common` module resource classes. - Ensure all methods are `suspend` functions and return `Either<ApiError, T>`. ## Dependencies - PR 11 (Frontend HttpClient & Either Conversion) - `ChatApi`, `SessionApi` interfaces - `common` module DTOs and Resources - PRs 8, 9 (Backend APIs must be wired for these to work end-to-end) ## Tests - Add integration tests calling the actual backend endpoints via these clients. ## Assignee Maya ## Labels frontend, api, ktor, arrow, good first issue
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Torvian.eu/chatbot#58
No description provided.