mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-10-31 18:23:18 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { BaseAPI } from "./_base";
 | |
| 
 | |
| export type EventCategory = "general" | "recipe" | "backup" | "scheduled" | "migration" | "group" | "user";
 | |
| 
 | |
| export interface Event {
 | |
|   id?: number;
 | |
|   title: string;
 | |
|   text: string;
 | |
|   timeStamp?: string;
 | |
|   category?: EventCategory & string;
 | |
| }
 | |
| 
 | |
| export interface EventsOut {
 | |
|   total: number;
 | |
|   events: Event[];
 | |
| }
 | |
| 
 | |
| const prefix = "/api";
 | |
| 
 | |
| const routes = {
 | |
|   aboutEvents: `${prefix}/about/events`,
 | |
|   aboutEventsNotifications: `${prefix}/about/events/notifications`,
 | |
|   aboutEventsNotificationsTest: `${prefix}/about/events/notifications/test`,
 | |
| 
 | |
|   aboutEventsId: (id: number) => `${prefix}/about/events/${id}`,
 | |
|   aboutEventsNotificationsId: (id: number) => `${prefix}/about/events/notifications/${id}`,
 | |
| };
 | |
| 
 | |
| export class EventsAPI extends BaseAPI {
 | |
|   /** Get event from the Database
 | |
|    */
 | |
|   async getEvents() {
 | |
|     return await this.requests.get<EventsOut>(routes.aboutEvents);
 | |
|   }
 | |
| 
 | |
|   /** Get event from the Database
 | |
|    */
 | |
|   async deleteEvents() {
 | |
|     return await this.requests.delete(routes.aboutEvents);
 | |
|   }
 | |
| 
 | |
|   /** Delete event from the Database
 | |
|    */
 | |
|   async deleteEvent(id: number) {
 | |
|     return await this.requests.delete(routes.aboutEventsId(id));
 | |
|   }
 | |
|   /** Get all event_notification from the Database
 | |
|    */
 | |
| }
 |