diff --git a/lib/data/repositories/voice_repository.dart b/lib/data/repositories/voice_repository.dart new file mode 100644 index 0000000..7eb9417 --- /dev/null +++ b/lib/data/repositories/voice_repository.dart @@ -0,0 +1,12 @@ +import 'dart:typed_data'; + +import '../api/voice_api.dart'; + +class VoiceRepository { + final VoiceApi _api; + const VoiceRepository(this._api); + + Future checkStatus() => _api.checkStatus(); + Future transcribe(Uint8List audioBytes) => _api.transcribe(audioBytes); + Future synthesise(String text) => _api.synthesise(text); +} diff --git a/lib/providers/api_client_provider.dart b/lib/providers/api_client_provider.dart index 7ae55e2..e9b2348 100644 --- a/lib/providers/api_client_provider.dart +++ b/lib/providers/api_client_provider.dart @@ -7,6 +7,7 @@ import '../data/api/auth_api.dart'; import '../data/api/briefing_api.dart'; import '../data/api/chat_api.dart'; import '../data/api/knowledge_api.dart'; +import '../data/api/voice_api.dart'; import '../data/api/milestones_api.dart'; import '../data/api/notes_api.dart'; import '../data/api/projects_api.dart'; @@ -16,6 +17,7 @@ import '../data/api/tasks_api.dart'; import '../data/repositories/auth_repository.dart'; import '../data/repositories/chat_repository.dart'; import '../data/repositories/knowledge_repository.dart'; +import '../data/repositories/voice_repository.dart'; import '../data/repositories/milestones_repository.dart'; import '../data/repositories/notes_repository.dart'; import '../data/repositories/projects_repository.dart'; @@ -100,3 +102,11 @@ final briefingApiProvider = Provider((ref) { final settingsApiProvider = Provider((ref) { return SettingsApi(ref.watch(dioProvider)); }); + +final voiceApiProvider = Provider((ref) { + return VoiceApi(ref.watch(dioProvider)); +}); + +final voiceRepositoryProvider = Provider((ref) { + return VoiceRepository(ref.watch(voiceApiProvider)); +});