TF-3082 Warn user and save identity cache on reload/session expired

This commit is contained in:
DatDang
2024-08-16 10:46:27 +07:00
committed by Dat H. Pham
parent b4e9ca3e74
commit fdbbf855b6
15 changed files with 552 additions and 35 deletions
@@ -0,0 +1,28 @@
import 'package:jmap_dart_client/http/converter/id_converter.dart';
import 'package:json_annotation/json_annotation.dart';
import 'package:tmail_ui_user/features/public_asset/domain/model/public_assets_in_identity_arguments.dart';
part 'public_assets_in_identity_arguments_model.g.dart';
@JsonSerializable(converters: [IdConverter()])
class PublicAssetsInIdentityArgumentsModel extends PublicAssetsInIdentityArguments {
PublicAssetsInIdentityArgumentsModel({
required super.htmlSignature,
required super.preExistingPublicAssetIds,
required super.newlyPickedPublicAssetIds});
factory PublicAssetsInIdentityArgumentsModel.fromJson(Map<String, dynamic> json)
=> _$PublicAssetsInIdentityArgumentsModelFromJson(json);
Map<String, dynamic> toJson() => _$PublicAssetsInIdentityArgumentsModelToJson(this);
factory PublicAssetsInIdentityArgumentsModel.fromDomain(
PublicAssetsInIdentityArguments publicAssetsInIdentityArguments
) {
return PublicAssetsInIdentityArgumentsModel(
htmlSignature: publicAssetsInIdentityArguments.htmlSignature,
preExistingPublicAssetIds: publicAssetsInIdentityArguments.preExistingPublicAssetIds,
newlyPickedPublicAssetIds: publicAssetsInIdentityArguments.newlyPickedPublicAssetIds
);
}
}
@@ -173,6 +173,14 @@ class PublicAssetController extends BaseController {
preExistingPublicAssetIds = htmlContent.publicAssetIdsFromHtmlContent;
}
void restorePreExistingPublicAssetsFromCache(List<PublicAssetId> publicAssetIds) {
preExistingPublicAssetIds = publicAssetIds;
}
void restoreNewlyPickedPublicAssetsFromCache(List<PublicAssetId> publicAssetIds) {
newlyPickedPublicAssetIds = publicAssetIds;
}
void uploadFileToBlob(PlatformFile platformFile) {
isUploading.value = true;
_uploadFileToBlobAction(platformFile);