hacktoberfestdockeruptime-monitoringuptimesocket-iosingle-page-appselfhostedself-hostedresponsivemonitoringwebsocketwebapp
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							28 lines
						
					
					
						
							912 B
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							28 lines
						
					
					
						
							912 B
						
					
					
				
								const NotificationProvider = require("./notification-provider");
							 | 
						|
								const axios = require("axios");
							 | 
						|
								
							 | 
						|
								class Gotify extends NotificationProvider {
							 | 
						|
								
							 | 
						|
								    name = "gotify";
							 | 
						|
								
							 | 
						|
								    async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
							 | 
						|
								        let okMsg = "Sent Successfully. ";
							 | 
						|
								        try {
							 | 
						|
								            if (notification.gotifyserverurl && notification.gotifyserverurl.endsWith("/")) {
							 | 
						|
								                notification.gotifyserverurl = notification.gotifyserverurl.slice(0, -1);
							 | 
						|
								            }
							 | 
						|
								            await axios.post(`${notification.gotifyserverurl}/message?token=${notification.gotifyapplicationToken}`, {
							 | 
						|
								                "message": msg,
							 | 
						|
								                "priority": notification.gotifyPriority || 8,
							 | 
						|
								                "title": "Uptime-Kuma",
							 | 
						|
								            })
							 | 
						|
								
							 | 
						|
								            return okMsg;
							 | 
						|
								
							 | 
						|
								        } catch (error) {
							 | 
						|
								            this.throwGeneralAxiosError(error);
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								module.exports = Gotify;
							 | 
						|
								
							 |