TF-2305 Session::getOwnEmailAddress method to fetch the user email address from urn:ietf:params:jmap:principals imip mailto property if not present in the session username, which is the case for Cyrus

This commit is contained in:
Florent Azavant
2025-01-24 11:49:38 +01:00
committed by Dat H. Pham
parent 327af38fb0
commit 6720709a2e
23 changed files with 212 additions and 58 deletions
@@ -4,7 +4,6 @@ import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/presentation/views/button/tmail_button_widget.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:jmap_dart_client/jmap/core/user_name.dart';
import 'package:model/mailbox/presentation_mailbox.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_sort_order_type.dart';
@@ -31,7 +30,6 @@ class SearchFilterButton extends StatelessWidget {
final DateTime? endDate;
final Set<String>? listAddressOfFrom;
final Set<String>? listAddressOfTo;
final UserName? userName;
final PresentationMailbox? mailbox;
final Color? backgroundColor;
final EdgeInsetsGeometry? buttonPadding;
@@ -50,7 +48,6 @@ class SearchFilterButton extends StatelessWidget {
this.endDate,
this.listAddressOfFrom,
this.listAddressOfTo,
this.userName,
this.mailbox,
this.backgroundColor,
this.buttonPadding,
@@ -67,7 +64,6 @@ class SearchFilterButton extends StatelessWidget {
endDate: startDate,
sortOrderType: sortOrderType,
listAddressOfFrom: listAddressOfFrom,
userName: userName,
mailbox: mailbox,
listAddressOfTo: listAddressOfTo,
);
@@ -15,6 +15,7 @@ import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
import 'package:model/email/presentation_email.dart';
import 'package:model/extensions/session_extension.dart';
import 'package:pointer_interceptor/pointer_interceptor.dart';
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/recent_search.dart';
@@ -146,7 +147,7 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
if (queryString.isNotEmpty || _searchController.listFilterOnSuggestionForm.isNotEmpty) {
_searchController.clearSearchFilter();
_searchController.applyFilterSuggestionToSearchFilter(_dashBoardController.sessionCurrent?.username);
_searchController.applyFilterSuggestionToSearchFilter(_dashBoardController.sessionCurrent?.getOwnEmailAddress());
_dashBoardController.searchEmailByQueryString(queryString);
} else {
_dashBoardController.clearSearchEmail();
@@ -166,7 +167,7 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
_searchController.searchFocus.unfocus();
_searchController.enableSearch();
_searchController.clearSearchFilter();
_searchController.applyFilterSuggestionToSearchFilter(_dashBoardController.sessionCurrent?.username);
_searchController.applyFilterSuggestionToSearchFilter(_dashBoardController.sessionCurrent?.getOwnEmailAddress());
_dashBoardController.searchEmailByQueryString(recent.value);
}