Skip to content

Commit

Permalink
fix(API): Add constants for known comments metadata
Browse files Browse the repository at this point in the history
Signed-off-by: Joas Schilling <coding@schilljs.com>
  • Loading branch information
nickvergessen committed Mar 6, 2024
1 parent d4c11cc commit 81008aa
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 14 deletions.
19 changes: 10 additions & 9 deletions lib/Chat/ChatManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
use OCA\Talk\Exceptions\MessagingNotAllowedException;
use OCA\Talk\Exceptions\ParticipantNotFoundException;
use OCA\Talk\Model\Attendee;
use OCA\Talk\Model\Message;
use OCA\Talk\Model\Poll;
use OCA\Talk\Participant;
use OCA\Talk\Room;
Expand Down Expand Up @@ -165,7 +166,7 @@ public function addSystemMessage(

if ($silent) {
$comment->setMetaData([
'silent' => true,
Message::METADATA_SILENT => true,
]);
}

Expand Down Expand Up @@ -322,7 +323,7 @@ public function sendMessage(Room $chat, ?Participant $participant, string $actor

if ($silent) {
$comment->setMetaData([
'silent' => true,
Message::METADATA_SILENT => true,
]);
}

Expand Down Expand Up @@ -502,9 +503,9 @@ public function deleteMessage(Room $chat, IComment $comment, Participant $partic
$metaData = $comment->getMetaData() ?? [];
if (isset($metaData['last_edited_by_type'])) {
unset(
$metaData['last_edited_by_type'],
$metaData['last_edited_by_id'],
$metaData['last_edited_time']
$metaData[Message::METADATA_LASTEDITEDBY_TYPE],
$metaData[Message::METADATA_LASTEDITEDBY_ID],
$metaData[Message::METADATA_LASTEDITEDBY_TIME]
);
$comment->setMetaData($metaData);
}
Expand Down Expand Up @@ -557,12 +558,12 @@ public function editMessage(Room $chat, IComment $comment, Participant $particip
}

$metaData = $comment->getMetaData() ?? [];
$metaData['last_edited_by_type'] = $participant->getAttendee()->getActorType();
$metaData['last_edited_by_id'] = $participant->getAttendee()->getActorId();
$metaData['last_edited_time'] = $editTime->getTimestamp();
$metaData[Message::METADATA_LASTEDITEDBY_TYPE] = $participant->getAttendee()->getActorType();
$metaData[Message::METADATA_LASTEDITEDBY_ID] = $participant->getAttendee()->getActorId();
$metaData[Message::METADATA_LASTEDITEDBY_TIME] = $editTime->getTimestamp();
$comment->setMetaData($metaData);

$wasSilent = $metaData['silent'] ?? false;
$wasSilent = $metaData[Message::METADATA_SILENT] ?? false;

if (!$wasSilent) {
$mentionsBefore = $comment->getMentions();
Expand Down
2 changes: 1 addition & 1 deletion lib/Chat/Parser/SystemMessage.php
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ protected function parseMessage(Message $chatMessage): void {
}
} elseif ($message === 'call_started') {
$metaData = $comment->getMetaData() ?? [];
$silentCall = $metaData['silent'] ?? false;
$silentCall = $metaData[Message::METADATA_SILENT] ?? false;
if ($silentCall) {
if ($currentUserIsActor) {
$parsedMessage = $this->l->t('You started a silent call');
Expand Down
5 changes: 3 additions & 2 deletions lib/Chat/SystemMessage/Listener.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
use OCA\Talk\Manager;
use OCA\Talk\Model\Attendee;
use OCA\Talk\Model\BreakoutRoom;
use OCA\Talk\Model\Message;
use OCA\Talk\Model\Session;
use OCA\Talk\Participant;
use OCA\Talk\Room;
Expand Down Expand Up @@ -425,8 +426,8 @@ protected function fixMimeTypeOfVoiceMessage(ShareCreatedEvent|BeforeDuplicateSh
}
}

if (isset($metaData['silent'])) {
$silent = (bool) $metaData['silent'];
if (isset($metaData[Message::METADATA_SILENT])) {
$silent = (bool) $metaData[Message::METADATA_SILENT];
} else {
$silent = false;
}
Expand Down
8 changes: 6 additions & 2 deletions lib/Model/Message.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@
* @psalm-import-type TalkChatMessage from ResponseDefinitions
*/
class Message {
public const METADATA_LASTEDITEDBY_TYPE = 'last_edited_by_type';
public const METADATA_LASTEDITEDBY_ID = 'last_edited_by_id';
public const METADATA_LASTEDITEDBY_TIME = 'last_edited_by_time';
public const METADATA_SILENT = 'silent';

/** @var bool */
protected $visible = true;
Expand Down Expand Up @@ -226,8 +230,8 @@ public function toArray(string $format): array {
}

$metaData = $this->comment->getMetaData() ?? [];
if (!empty($metaData['silent'])) {
$data['silent'] = true;
if (!empty($metaData[self::METADATA_SILENT])) {
$data[self::METADATA_SILENT] = true;
}

return $data;
Expand Down

0 comments on commit 81008aa

Please sign in to comment.