implement sending Emoji, pin or mute conversation

This commit is contained in:
2026-05-01 11:30:14 +03:30
parent 1121939c25
commit 7b2541dd35
11 changed files with 359 additions and 12 deletions

View File

@@ -5,10 +5,10 @@ namespace App\Models;
use Database\Factories\ConversationParticipantFactory;
use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
#[Fillable(['conversation_id', 'user_id', 'role', 'joined_at', 'last_read_at', 'muted_until'])]
#[Fillable(['conversation_id', 'user_id', 'role', 'joined_at', 'last_read_at', 'muted_until', 'pinned_at'])]
class ConversationParticipant extends Model
{
/** @use HasFactory<ConversationParticipantFactory> */
@@ -27,9 +27,20 @@ class ConversationParticipant extends Model
'joined_at' => 'datetime',
'last_read_at' => 'datetime',
'muted_until' => 'datetime',
'pinned_at' => 'datetime',
];
}
public function isMuted(): bool
{
return $this->muted_until !== null && $this->muted_until->isFuture();
}
public function isPinned(): bool
{
return $this->pinned_at !== null;
}
/**
* @return BelongsTo<Conversation, $this>
*/