12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- <?php
- namespace App\Events;
- use App\Models\Action;
- use App\Models\Config;
- use App\Models\Enums\ConfigGroup;
- use Illuminate\Broadcasting\Channel;
- use Illuminate\Broadcasting\InteractsWithSockets;
- use Illuminate\Broadcasting\PresenceChannel;
- use Illuminate\Broadcasting\PrivateChannel;
- use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
- use Illuminate\Foundation\Events\Dispatchable;
- use Illuminate\Queue\SerializesModels;
- class ObjectActionCreate
- {
- use Dispatchable, InteractsWithSockets, SerializesModels;
- public array $notificationSetting = [];
- /**
- * Create a new event instance.
- */
- public function __construct(public Action $action)
- {
- $settingResult = Config::query()
- ->where("group", ConfigGroup::MESSAGE_NOTIFICATION)
- ->where("key", "setting")
- ->first();
- $this->notificationSetting = $settingResult ? json_decode($settingResult->value, true) : [];
- }
- /**
- * Get the channels the event should broadcast on.
- *
- * @return array<int, \Illuminate\Broadcasting\Channel>
- */
- public function broadcastOn(): array
- {
- return [
- new PrivateChannel('channel-name'),
- ];
- }
- }
|