Cache Linagora Ecosystem in controller for Scribe

This commit is contained in:
Théo Poizat
2026-03-03 08:46:13 +01:00
committed by Dat H. Pham
parent 3ebb9113bc
commit 32cf606aea
10 changed files with 72 additions and 75 deletions
@@ -58,23 +58,4 @@ class LinagoraEcosystemApi {
}
}
}
Future<String?> getScribePromptUrl(String baseUrl) async {
LinagoraEcosystem? linagoraEcosystem;
try {
linagoraEcosystem = await getLinagoraEcosystem(baseUrl);
} catch (exception) {
if (exception is NotFoundLinagoraEcosystem) {
return null;
}
rethrow;
}
final scribePromptProperty =
linagoraEcosystem.properties?[LinagoraEcosystemIdentifier.scribePromptUrl] as ApiUrlLinagoraEcosystem?;
log('LinagoraEcosystemApi::getScribePromptUrl: scribePromptProperty = $scribePromptProperty');
return scribePromptProperty?.value;
}
}
@@ -1,4 +1,5 @@
import 'package:tmail_ui_user/features/mailbox_dashboard/data/network/linagora_ecosystem_api.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/linagora_ecosystem/linagora_ecosystem.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/linagora_ecosystem_repository.dart';
class LinagoraEcosystemRepositoryImpl extends LinagoraEcosystemRepository {
@@ -7,7 +8,8 @@ class LinagoraEcosystemRepositoryImpl extends LinagoraEcosystemRepository {
LinagoraEcosystemRepositoryImpl(this._linagoraEcosystemApi);
@override
Future<String?> getScribePromptUrl(String baseUrl) {
return _linagoraEcosystemApi.getScribePromptUrl(baseUrl);
Future<LinagoraEcosystem> getLinagoraEcosystem(String baseUrl) {
return _linagoraEcosystemApi.getLinagoraEcosystem(baseUrl);
}
}