mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-10-31 10:13:32 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { RecipeAPI } from "./class-interfaces/recipes";
 | |
| import { UserApi } from "./class-interfaces/users";
 | |
| import { GroupAPI } from "./class-interfaces/groups";
 | |
| import { DebugAPI } from "./class-interfaces/debug";
 | |
| import { EventsAPI } from "./class-interfaces/events";
 | |
| import { BackupAPI } from "./class-interfaces/backups";
 | |
| import { UploadFile } from "./class-interfaces/upload";
 | |
| import { ApiRequestInstance } from "~/types/api";
 | |
| 
 | |
| class Api {
 | |
|   private static instance: Api;
 | |
|   public recipes: RecipeAPI;
 | |
|   public users: UserApi;
 | |
|   public groups: GroupAPI;
 | |
|   public debug: DebugAPI;
 | |
|   public events: EventsAPI;
 | |
|   public backups: BackupAPI;
 | |
|   public upload: UploadFile;
 | |
| 
 | |
|   constructor(requests: ApiRequestInstance) {
 | |
|     if (Api.instance instanceof Api) {
 | |
|       return Api.instance;
 | |
|     }
 | |
| 
 | |
|     this.recipes = new RecipeAPI(requests);
 | |
|     this.users = new UserApi(requests);
 | |
|     this.groups = new GroupAPI(requests);
 | |
|     this.debug = new DebugAPI(requests);
 | |
|     this.events = new EventsAPI(requests);
 | |
|     this.backups = new BackupAPI(requests);
 | |
|     this.upload = new UploadFile(requests);
 | |
| 
 | |
|     Object.freeze(this);
 | |
|     Api.instance = this;
 | |
|   }
 | |
| }
 | |
| 
 | |
| export { Api };
 |