work in progress
This commit is contained in:
@@ -45,8 +45,9 @@ class ActivityService
|
||||
return $cursor ? $cursor->read_at : Carbon::parse('1970-01-01');
|
||||
}
|
||||
|
||||
public function createMessage($chat, $user, $content, $subject = null)
|
||||
public function createMessage($dynamic, $user, $content, $subject = null)
|
||||
{
|
||||
$chat = $dynamic->getOrCreateChat();
|
||||
$message = $chat->messages()->create([
|
||||
'user_id' => $user ? $user->id : null,
|
||||
'content' => $content,
|
||||
@@ -92,6 +93,11 @@ class ActivityService
|
||||
*/
|
||||
public function getActivitiesForDynamic(Dynamic $dynamic): array
|
||||
{
|
||||
$chat = $dynamic->getOrCreateChat();
|
||||
if (!$chat) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$participants = $dynamic->participants()->withPivot('display_name')->get();
|
||||
$participantsMap = $participants->reduce(function ($acc, $p) {
|
||||
$acc[$p->id] = $p->pivot->display_name ?? $p->name;
|
||||
@@ -99,7 +105,7 @@ class ActivityService
|
||||
return $acc;
|
||||
}, []);
|
||||
|
||||
$messages = Message::where('chat_id', $dynamic->chat->id)
|
||||
$messages = Message::where('chat_id', $chat->id)
|
||||
->with(['user', 'subject'])
|
||||
->latest()
|
||||
->get();
|
||||
@@ -122,10 +128,10 @@ class ActivityService
|
||||
/**
|
||||
* Get unread activities grouped by active entities (Dynamics, Ledgers) for the given user.
|
||||
*/
|
||||
public function getUnreadDynamicsGrouped(User $user): array
|
||||
public function getUnreadEntitiesGrouped(User $user): array
|
||||
{
|
||||
$groupedDynamics = [];
|
||||
$participatingDynamics = $user->dynamics()->with('ledgers')->get();
|
||||
$participatingDynamics = $user->dynamics()->with(['chat', 'ledgers'])->get();
|
||||
|
||||
foreach ($participatingDynamics as $dynamic) {
|
||||
$readAt = $this->getCursorReadAt($user, $dynamic);
|
||||
|
||||
Reference in New Issue
Block a user