first commit
Some checks failed
Build / run (push) Has been cancelled

This commit is contained in:
maher
2025-10-29 11:42:25 +01:00
commit 703f50a09d
4595 changed files with 385164 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
<?php
namespace Common\Notifications;
use App\Models\User;
use NotificationChannels\Fcm\FcmChannel;
trait GetsUserPreferredChannels
{
/**
* @param User $notifiable
* @return array
*/
public function via($notifiable): array
{
if (!config('common.site.notif_subs_integrated')) {
return ['database', 'mail'];
}
$channels = [];
if (
$sub = $notifiable->notificationSubscriptions
->where('notif_id', static::NOTIF_ID)
->first()
) {
foreach (array_filter($sub->channels) as $channel => $isSelected) {
if ($channel === 'browser') {
$channels = array_merge($channels, [
'database',
'broadcast',
]);
} elseif ($channel === 'email') {
$channels[] = 'mail';
} elseif ($channel === 'mobile') {
$channels[] = FcmChannel::class;
} else {
$channels[] = $channel;
}
}
}
return $channels;
}
}