From 2377225520d1194b4b942f5b66e32bd4f2b35f3a Mon Sep 17 00:00:00 2001 From: dab246 Date: Wed, 7 Jun 2023 00:30:05 +0700 Subject: [PATCH] TF-1899 Store session as string to hive (cherry picked from commit 2f570681d32b5b234f60f9e4d7f13e69a5bb2b31) --- .../session/data/extensions/session_hive_obj_extension.dart | 4 +++- lib/features/session/data/model/session_hive_obj.dart | 6 +++--- .../session/domain/extensions/session_extensions.dart | 4 +++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/features/session/data/extensions/session_hive_obj_extension.dart b/lib/features/session/data/extensions/session_hive_obj_extension.dart index 958d170f2..2a8c0da13 100644 --- a/lib/features/session/data/extensions/session_hive_obj_extension.dart +++ b/lib/features/session/data/extensions/session_hive_obj_extension.dart @@ -1,7 +1,9 @@ +import 'dart:convert'; + import 'package:jmap_dart_client/jmap/core/session/session.dart'; import 'package:tmail_ui_user/features/session/data/model/session_hive_obj.dart'; extension SessionHiveObjExtension on SessionHiveObj { - Session toSession() => Session.fromJson(values); + Session toSession() => Session.fromJson(jsonDecode(value)); } \ No newline at end of file diff --git a/lib/features/session/data/model/session_hive_obj.dart b/lib/features/session/data/model/session_hive_obj.dart index 38c612091..4d207e136 100644 --- a/lib/features/session/data/model/session_hive_obj.dart +++ b/lib/features/session/data/model/session_hive_obj.dart @@ -10,12 +10,12 @@ class SessionHiveObj extends HiveObject with EquatableMixin { static const String keyValue = 'session'; @HiveField(0) - final Map values; + final String value; SessionHiveObj({ - required this.values + required this.value }); @override - List get props => [values]; + List get props => [value]; } \ No newline at end of file diff --git a/lib/features/session/domain/extensions/session_extensions.dart b/lib/features/session/domain/extensions/session_extensions.dart index 92ccd311e..c1363e75b 100644 --- a/lib/features/session/domain/extensions/session_extensions.dart +++ b/lib/features/session/domain/extensions/session_extensions.dart @@ -1,4 +1,6 @@ +import 'dart:convert'; + import 'package:core/presentation/extensions/uri_extension.dart'; import 'package:jmap_dart_client/http/converter/state_converter.dart'; import 'package:jmap_dart_client/http/converter/user_name_converter.dart'; @@ -32,7 +34,7 @@ extension SessionExtensions on Session { return val; } - SessionHiveObj toHiveObj() => SessionHiveObj(values: toJson()); + SessionHiveObj toHiveObj() => SessionHiveObj(value: jsonEncode(toJson())); String getQualifiedApiUrl({String? baseUrl}) { if (baseUrl != null) {