feat(ai-scribe): Fix cannot parsing AI capability from Session

This commit is contained in:
dab246
2025-12-16 18:35:45 +07:00
committed by Dat H. Pham
parent 63d9a5d740
commit 7ddccf2e1c
9 changed files with 52 additions and 15 deletions
@@ -12,6 +12,7 @@ import 'package:jmap_dart_client/jmap/core/capability/web_socket_ticket_capabili
import 'package:jmap_dart_client/jmap/core/capability/websocket_capability.dart';
import 'package:model/saas/saas_account_capability.dart';
import 'package:model/support/contact_support_capability.dart';
import 'package:scribe/scribe/ai/presentation/model/ai_capability.dart';
class CapabilityPropertiesConverter {
@@ -38,6 +39,8 @@ class CapabilityPropertiesConverter {
return properties.toJson();
} else if (properties is SaaSAccountCapability) {
return properties.toJson();
} else if (properties is AICapability) {
return properties.toJson();
} else if (properties is DefaultCapability) {
return properties.properties;
} else if (properties is EmptyCapability) {
@@ -12,11 +12,11 @@ import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart
import 'package:jmap_dart_client/jmap/core/capability/capability_properties.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
import 'package:model/ai/ai_capability.dart';
import 'package:model/ai/capability_ai.dart';
import 'package:model/download_all/download_all_capability.dart';
import 'package:model/mailbox/mailbox_constants.dart';
import 'package:model/model.dart';
import 'package:scribe/scribe/ai/presentation/model/ai_capability.dart';
import 'package:scribe/scribe/ai/presentation/utils/ai_scribe_constants.dart';
import 'package:server_settings/server_settings/capability_server_settings.dart';
import 'package:tmail_ui_user/features/home/data/model/session_hive_obj.dart';
import 'package:tmail_ui_user/features/home/domain/converter/session_account_converter.dart';
@@ -35,7 +35,7 @@ extension SessionExtensions on Session {
linagoraDownloadAllCapability: DownloadAllCapability.deserialize,
capabilityServerSettings: SettingsCapability.deserialize,
linagoraSaaSCapability: SaaSAccountCapability.deserialize,
capabilityAI: AICapability.deserialize,
AiScribeConstants.aiCapability: AICapability.deserialize,
};
Map<String, dynamic> toJson() {
@@ -173,7 +173,7 @@ extension SessionExtensions on Session {
try {
final aiCapability = getCapabilityProperties<AICapability>(
accountId,
capabilityAI,
AiScribeConstants.aiCapability,
);
log('SessionExtensions::getAICapability:aiCapability = $aiCapability');
return aiCapability;