mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-10-30 09:43:43 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { requests } from "../requests";
 | |
| import { BaseCRUDAPI } from "./_base";
 | |
| 
 | |
| export type EventCategory = "general" | "recipe" | "backup" | "scheduled" | "migration" | "group" | "user";
 | |
| export type DeclaredTypes = "General" | "Discord" | "Gotify" | "Pushover" | "Home Assistant";
 | |
| export type GotifyPriority = "low" | "moderate" | "normal" | "high";
 | |
| 
 | |
| export interface EventNotification {
 | |
|   id?: number;
 | |
|   name?: string;
 | |
|   type?: DeclaredTypes & string;
 | |
|   general?: boolean;
 | |
|   recipe?: boolean;
 | |
|   backup?: boolean;
 | |
|   scheduled?: boolean;
 | |
|   migration?: boolean;
 | |
|   group?: boolean;
 | |
|   user?: boolean;
 | |
| }
 | |
| 
 | |
| export interface CreateEventNotification extends EventNotification {
 | |
|   notificationUrl?: string;
 | |
| }
 | |
| 
 | |
| const prefix = "/api";
 | |
| 
 | |
| const routes = {
 | |
|   aboutEventsNotifications: `${prefix}/about/events/notifications`,
 | |
|   aboutEventsNotificationsTest: `${prefix}/about/events/notifications/test`,
 | |
| 
 | |
|   aboutEventsNotificationsId: (id: number) => `${prefix}/about/events/notifications/${id}`,
 | |
| };
 | |
| 
 | |
| export class NotificationsAPI extends BaseCRUDAPI<EventNotification, CreateEventNotification> {
 | |
|   baseRoute = routes.aboutEventsNotifications;
 | |
|   itemRoute = routes.aboutEventsNotificationsId;
 | |
|   /** Returns the Group Data for the Current User
 | |
|    */
 | |
|   async testNotification(id: number) {
 | |
|     return await requests.post(routes.aboutEventsNotificationsTest, { id });
 | |
|   }
 | |
| }
 |