26 lines
748 B
PHP
26 lines
748 B
PHP
<?php
|
|
|
|
namespace kernel\modules\notification\channels;
|
|
|
|
use kernel\Flash;
|
|
use kernel\modules\notification\contracts\NotificationChannelInterface;
|
|
use kernel\modules\notification\contracts\NotificationMessage;
|
|
use kernel\modules\notification\models\User;
|
|
|
|
class DatabaseChannel implements NotificationChannelInterface
|
|
{
|
|
public function send(NotificationMessage $notification, User $user): bool
|
|
{
|
|
try {
|
|
$user->notifications()->create([
|
|
'message' => $notification->getMessage(),
|
|
'data' => $notification->toArray()
|
|
]);
|
|
|
|
return true;
|
|
} catch (\Exception $e) {
|
|
Flash::setMessage("error", $e->getMessage());
|
|
return false;
|
|
}
|
|
}
|
|
} |