TF-1899 Store session as string to hive

(cherry picked from commit 2f570681d32b5b234f60f9e4d7f13e69a5bb2b31)
This commit is contained in:
dab246
2023-06-07 00:30:05 +07:00
committed by Dat Vu
parent dc07e5661e
commit 2377225520
3 changed files with 9 additions and 5 deletions
@@ -1,7 +1,9 @@
import 'dart:convert';
import 'package:jmap_dart_client/jmap/core/session/session.dart'; import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:tmail_ui_user/features/session/data/model/session_hive_obj.dart'; import 'package:tmail_ui_user/features/session/data/model/session_hive_obj.dart';
extension SessionHiveObjExtension on SessionHiveObj { extension SessionHiveObjExtension on SessionHiveObj {
Session toSession() => Session.fromJson(values); Session toSession() => Session.fromJson(jsonDecode(value));
} }
@@ -10,12 +10,12 @@ class SessionHiveObj extends HiveObject with EquatableMixin {
static const String keyValue = 'session'; static const String keyValue = 'session';
@HiveField(0) @HiveField(0)
final Map<String, dynamic> values; final String value;
SessionHiveObj({ SessionHiveObj({
required this.values required this.value
}); });
@override @override
List<Object?> get props => [values]; List<Object?> get props => [value];
} }
@@ -1,4 +1,6 @@
import 'dart:convert';
import 'package:core/presentation/extensions/uri_extension.dart'; 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/state_converter.dart';
import 'package:jmap_dart_client/http/converter/user_name_converter.dart'; import 'package:jmap_dart_client/http/converter/user_name_converter.dart';
@@ -32,7 +34,7 @@ extension SessionExtensions on Session {
return val; return val;
} }
SessionHiveObj toHiveObj() => SessionHiveObj(values: toJson()); SessionHiveObj toHiveObj() => SessionHiveObj(value: jsonEncode(toJson()));
String getQualifiedApiUrl({String? baseUrl}) { String getQualifiedApiUrl({String? baseUrl}) {
if (baseUrl != null) { if (baseUrl != null) {