Skip to content

[ML 0.5/MVI.02.1] Define and Implement MoveMessages UseCase (Flow-based) #10509

@rafaeltonholo

Description

@rafaeltonholo

Description

Implement the MoveMessages use case within the MessageOperationsContract. This use case is responsible for moving messages between folders in the local database and coordinating the move on the remote server.

Goal

To provide a reactive way to move messages that can be easily chained within the DeleteMessages orchestration pipeline.

Acceptance Criteria

  • The use case returns a Flow<Outcome<MoveMessagesOutcome.Success, MoveMessagesOutcome.Error>>.
  • Successfully updates message folder associations in the local repository.
  • Triggers the corresponding move operation on the Backend.
  • Correctness is verified via unit tests using Fakes (e.g., FakeMessageRepository, FakeBackend) covering success and failure (e.g., move error) scenarios.

Technical Details

  • Must provide a mapping of source MessageUids to new destination MessageUids (for UIDs that change during a move) to support downstream flag updates.

Metadata

Metadata

Assignees

Labels

tb-teamTasks and features handled by project maintainerstype: enhancementNew features or improvements to existing features.

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions