Skip to content

Commit

Permalink
feat: NoteToSelf messages are editable forever
Browse files Browse the repository at this point in the history
Signed-off-by: skalidindi53 <s.teja2004@gmail.com>
  • Loading branch information
skalidindi53 committed Aug 19, 2024
1 parent 83ec165 commit 5f30180
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 6 deletions.
14 changes: 8 additions & 6 deletions lib/Controller/ChatController.php
Original file line number Diff line number Diff line change
Expand Up @@ -845,13 +845,15 @@ public function editMessage(int $messageId, string $message): DataResponse {
return new DataResponse([], Http::STATUS_METHOD_NOT_ALLOWED);
}

$maxAge = $this->timeFactory->getDateTime();
$maxAge->sub(new \DateInterval('P1D'));
if ($comment->getCreationDateTime() < $maxAge) {
// Message is too old
return new DataResponse(['error' => 'age'], Http::STATUS_BAD_REQUEST);
if (!($this->room->getType() === Room::TYPE_NOTE_TO_SELF)) {
$maxAge = $this->timeFactory->getDateTime();
$maxAge->sub(new \DateInterval('P1D'));
if ($comment->getCreationDateTime() < $maxAge) {
// Message is too old
return new DataResponse(['error' => 'age'], Http::STATUS_BAD_REQUEST);
}
}

try {
$systemMessageComment = $this->chatManager->editMessage(
$this->room,
Expand Down
15 changes: 15 additions & 0 deletions tests/integration/features/chat-1/note-to-self.feature
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,18 @@ Feature: chat/note-to-self
Then user "participant1" sees the following system messages in room "Note to self" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | systemMessage |
| Note to self | guests | system | | System created the conversation | {"actor":{"type":"guest","id":"guest\/system","name":"Guest"}} | conversation_created |

Scenario: Edit messages forever in note-to-self room
When user "participant1" creates note-to-self (v4)
And user "participant1" is participant of the following note-to-self rooms (v4)
| id | type | name |
| participant1-note-to-self | 6 | Note to self |
Then user "participant1" sends message "Initial message" to room "participant1-note-to-self" with 201
And user "participant1" sees the following messages in room "participant1-note-to-self" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters |
| participant1-note-to-self | users | participant1 | participant1-displayname | Initial message | [] |
When aging messages 24 hours in room "participant1-note-to-self"
And user "participant1" edits message "Initial message" in room "participant1-note-to-self" to "Edited after 24 hours" with 200
Then user "participant1" sees the following messages in room "participant1-note-to-self" with 200
| room | actorType | actorId | actorDisplayName | message | messageParameters | lastEditActorType | lastEditActorId | lastEditActorDisplayName |
| participant1-note-to-self | users | participant1 | participant1-displayname | Edited after 24 hours | [] | users | participant1 | participant1-displayname |

0 comments on commit 5f30180

Please sign in to comment.