TF-2667 Move the creation of mailbox request id to the data layer
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -148,9 +148,11 @@ class MailboxAPI with HandleSetErrorMixin {
|
||||
}
|
||||
|
||||
Future<Mailbox?> createNewMailbox(Session session, AccountId accountId, CreateNewMailboxRequest request) async {
|
||||
final generateCreateId = Id(_uuid.v1());
|
||||
|
||||
final setMailboxMethod = SetMailboxMethod(accountId)
|
||||
..addCreate(
|
||||
request.creationId,
|
||||
generateCreateId,
|
||||
Mailbox(
|
||||
name: request.newName,
|
||||
isSubscribed: IsSubscribed(request.isSubscribed),
|
||||
@@ -176,14 +178,14 @@ class MailboxAPI with HandleSetErrorMixin {
|
||||
|
||||
final mapMailboxCreated = setMailboxResponse?.created;
|
||||
if (mapMailboxCreated != null &&
|
||||
mapMailboxCreated.containsKey(request.creationId)) {
|
||||
final mailboxCreated = mapMailboxCreated[request.creationId]!;
|
||||
mapMailboxCreated.containsKey(generateCreateId)) {
|
||||
final mailboxCreated = mapMailboxCreated[generateCreateId]!;
|
||||
final newMailboxCreated = mailboxCreated.toMailbox(
|
||||
request.newName,
|
||||
parentId: request.parentId);
|
||||
return newMailboxCreated;
|
||||
} else {
|
||||
throw _parseErrorForSetMailboxResponse(setMailboxResponse, request.creationId);
|
||||
throw _parseErrorForSetMailboxResponse(setMailboxResponse, generateCreateId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,17 +1,14 @@
|
||||
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
|
||||
class CreateNewMailboxRequest with EquatableMixin {
|
||||
|
||||
final MailboxName newName;
|
||||
final Id creationId;
|
||||
final MailboxId? parentId;
|
||||
final bool isSubscribed;
|
||||
|
||||
CreateNewMailboxRequest(
|
||||
this.creationId,
|
||||
this.newName,
|
||||
{
|
||||
this.parentId,
|
||||
@@ -21,7 +18,6 @@ class CreateNewMailboxRequest with EquatableMixin {
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
creationId,
|
||||
newName,
|
||||
parentId,
|
||||
isSubscribed
|
||||
|
||||
@@ -8,7 +8,6 @@ import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/error/method/error_method_response.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
||||
@@ -591,9 +590,7 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
: await push(AppRoutes.mailboxCreator, arguments: arguments);
|
||||
|
||||
if (result != null && result is NewMailboxArguments) {
|
||||
final generateCreateId = Id(uuid.v1());
|
||||
_createNewMailboxAction(session, accountId, CreateNewMailboxRequest(
|
||||
generateCreateId,
|
||||
result.newName,
|
||||
parentId: result.mailboxLocation?.id));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user