34 lines
		
	
	
		
			1007 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1007 B
		
	
	
	
		
			JavaScript
		
	
	
	
| import Pusher from 'pusher-js';
 | |
| import Echo from 'laravel-echo';
 | |
| import {useToast} from 'vue-toastification';
 | |
| 
 | |
| const toast = useToast();
 | |
| 
 | |
| window.Pusher = Pusher;
 | |
| 
 | |
| function handleJobEvent(event, type = 'success') {
 | |
|     if (event.message) {
 | |
|         toast[type](event.message);
 | |
|     }
 | |
| }
 | |
| 
 | |
| var echo = new Echo({
 | |
|     broadcaster: 'pusher',
 | |
|     key: 'adremakey',
 | |
|     wsHost: window.location.hostname,
 | |
|     wsPort: import.meta.env.MODE === 'development' ? 6001 : 80,
 | |
|     wssPort: import.meta.env.MODE === 'development' ? 6001 : 443,
 | |
|     forceTLS: false,
 | |
|     disableStats: true,
 | |
|     cluster: 'adrema',
 | |
|     enabledTransports: ['ws', 'wss'],
 | |
| });
 | |
| 
 | |
| echo.channel('jobs')
 | |
|     .listen('\\App\\Lib\\Events\\JobStarted', (e) => handleJobEvent(e, 'success'))
 | |
|     .listen('\\App\\Lib\\Events\\JobFinished', (e) => handleJobEvent(e, 'success'))
 | |
|     .listen('\\App\\Lib\\Events\\JobFailed', (e) => handleJobEvent(e, 'error'))
 | |
|     .listen('\\App\\Lib\\Events\\Succeeded', (e) => handleJobEvent(e, 'success'));
 | |
| 
 | |
| export default echo;
 |