Revert "TF-2528 Sorting emails by order ids list of Email/query"
This reverts commit a5665416b1.
This commit is contained in:
@@ -752,10 +752,7 @@ class ComposerController extends BaseController {
|
|||||||
type: MediaType.parse('text/html')
|
type: MediaType.parse('text/html')
|
||||||
)},
|
)},
|
||||||
bodyValues: {
|
bodyValues: {
|
||||||
generatePartId: EmailBodyValue(
|
generatePartId: EmailBodyValue(emailBodyText, false, false)
|
||||||
value: emailBodyText,
|
|
||||||
isEncodingProblem: false,
|
|
||||||
isTruncated: false)
|
|
||||||
},
|
},
|
||||||
headerUserAgent: {IndividualHeaderIdentifier.headerUserAgent : userAgent},
|
headerUserAgent: {IndividualHeaderIdentifier.headerUserAgent : userAgent},
|
||||||
attachments: attachments.isNotEmpty ? attachments : null,
|
attachments: attachments.isNotEmpty ? attachments : null,
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
|
||||||
import 'package:jmap_dart_client/jmap/core/user_name.dart';
|
import 'package:jmap_dart_client/jmap/core/user_name.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||||
import 'package:model/extensions/account_id_extensions.dart';
|
import 'package:model/extensions/account_id_extensions.dart';
|
||||||
@@ -16,23 +15,4 @@ extension ListEmailExtension on List<Email> {
|
|||||||
TupleKey(email.id!.asString, accountId.asString, userName.value).encodeKey : email.toEmailCache()
|
TupleKey(email.id!.asString, accountId.asString, userName.value).encodeKey : email.toEmailCache()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Email> sortingByOrderOfIdList(List<Id> ids) {
|
|
||||||
if (ids.length != length) {
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
sort((email1, email2) {
|
|
||||||
final id1 = email1.id?.id;
|
|
||||||
final id2 = email2.id?.id;
|
|
||||||
|
|
||||||
if (id1 == null || id2 == null) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
final sortIndex = ids.indexOf(id1) - ids.indexOf(id2);
|
|
||||||
return sortIndex;
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:core/utils/app_logger.dart';
|
|
||||||
import 'package:jmap_dart_client/http/http_client.dart';
|
import 'package:jmap_dart_client/http/http_client.dart';
|
||||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/filter/filter.dart';
|
import 'package:jmap_dart_client/jmap/core/filter/filter.dart';
|
||||||
@@ -17,9 +16,6 @@ import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
|||||||
import 'package:jmap_dart_client/jmap/mail/email/get/get_email_method.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/get/get_email_method.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/get/get_email_response.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/get/get_email_response.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/query/query_email_method.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/query/query_email_method.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/query/query_email_response.dart';
|
|
||||||
import 'package:model/model.dart';
|
|
||||||
import 'package:tmail_ui_user/features/thread/data/extensions/list_email_extension.dart';
|
|
||||||
import 'package:tmail_ui_user/features/thread/data/model/email_change_response.dart';
|
import 'package:tmail_ui_user/features/thread/data/model/email_change_response.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/domain/model/email_response.dart';
|
import 'package:tmail_ui_user/features/thread/domain/model/email_response.dart';
|
||||||
import 'package:tmail_ui_user/main/error/capability_validator.dart';
|
import 'package:tmail_ui_user/main/error/capability_validator.dart';
|
||||||
@@ -75,30 +71,16 @@ class ThreadAPI {
|
|||||||
.build()
|
.build()
|
||||||
.execute();
|
.execute();
|
||||||
|
|
||||||
final responseOfGetEmailMethod = result.parse<GetEmailResponse>(
|
final resultList = result.parse<GetEmailResponse>(
|
||||||
getEmailInvocation.methodCallId,
|
getEmailInvocation.methodCallId, GetEmailResponse.deserialize);
|
||||||
GetEmailResponse.deserialize);
|
|
||||||
|
|
||||||
final responseOfQueryEmailMethod = result.parse<QueryEmailResponse>(
|
if (sort != null && resultList != null) {
|
||||||
queryEmailInvocation.methodCallId,
|
for (var comparator in sort) {
|
||||||
QueryEmailResponse.deserialize);
|
resultList.sortEmails(comparator);
|
||||||
|
}
|
||||||
List<Email>? emailList;
|
|
||||||
|
|
||||||
if (responseOfGetEmailMethod?.list.isNotEmpty == true &&
|
|
||||||
responseOfQueryEmailMethod?.ids.isNotEmpty == true) {
|
|
||||||
log('ThreadAPI::getAllEmail: QUERY_EMAIL_IDS = ${responseOfQueryEmailMethod?.ids}');
|
|
||||||
final listSortedEmail = responseOfGetEmailMethod!.list
|
|
||||||
.sortingByOrderOfIdList(responseOfQueryEmailMethod!.ids.toList());
|
|
||||||
emailList = listSortedEmail;
|
|
||||||
} else {
|
|
||||||
emailList = responseOfGetEmailMethod?.list;
|
|
||||||
}
|
}
|
||||||
log('ThreadAPI::getAllEmail: EMAIL_DISPLAYED_IDS = ${emailList?.listEmailIds}');
|
|
||||||
return EmailsResponse(
|
return EmailsResponse(emailList: resultList?.list, state: resultList?.state);
|
||||||
emailList: emailList,
|
|
||||||
state: responseOfGetEmailMethod?.state
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<EmailChangeResponse> getChanges(
|
Future<EmailChangeResponse> getChanges(
|
||||||
|
|||||||
Reference in New Issue
Block a user