This repository was archived by the owner on Feb 7, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +25
-9
lines changed
src/Dashboard/Http/Controllers Expand file tree Collapse file tree 1 file changed +25
-9
lines changed Original file line number Diff line number Diff line change 2
2
3
3
namespace BeyondCode \LaravelWebSockets \Dashboard \Http \Controllers ;
4
4
5
+ use BeyondCode \LaravelWebSockets \Statistics \Rules \AppId ;
5
6
use Pusher \Pusher ;
6
7
use Illuminate \Http \Request ;
7
8
use Illuminate \Broadcasting \Broadcasters \PusherBroadcaster ;
8
9
9
10
class SendMessage
10
11
{
11
12
public function __invoke (Request $ request )
13
+ {
14
+ $ validated = $ request ->validate ([
15
+ 'appId ' => ['required ' , new AppId ()],
16
+ 'key ' => 'required ' ,
17
+ 'secret ' => 'required ' ,
18
+ 'channel ' => 'required ' ,
19
+ 'event ' => 'required ' ,
20
+ 'data ' => 'json ' ,
21
+ ]);
22
+
23
+ $ this ->getPusherBroadcaster ($ validated )->broadcast (
24
+ [$ validated ['channel ' ]],
25
+ $ validated ['event ' ],
26
+ json_decode ($ validated ['data ' ], true )
27
+ );
28
+
29
+ return 'ok ' ;
30
+ }
31
+
32
+ protected function getPusherBroadcaster (array $ validated ): PusherBroadcaster
12
33
{
13
34
$ pusher = new Pusher (
14
- $ request -> key ,
15
- $ request -> secret ,
16
- $ request -> appId ,
35
+ $ validated [ ' key ' ] ,
36
+ $ validated [ ' secret ' ] ,
37
+ $ validated [ ' appId ' ] ,
17
38
config ('broadcasting.connections.pusher.options ' , [])
18
39
);
19
40
20
- return (new PusherBroadcaster ($ pusher ))
21
- ->broadcast (
22
- [$ request ->channel ],
23
- $ request ->event ,
24
- json_decode ($ request ->data , true )
25
- );
41
+ return new PusherBroadcaster ($ pusher );
26
42
}
27
43
}
You can’t perform that action at this time.
0 commit comments