| 
									
										
										
										
											2021-08-01 19:24:47 -08:00
										 |  |  | import { RecipeAPI } from "./class-interfaces/recipes"; | 
					
						
							| 
									
										
										
										
											2021-08-03 21:38:45 -08:00
										 |  |  | import { UserApi } from "./class-interfaces/users"; | 
					
						
							| 
									
										
										
										
											2021-08-06 16:28:12 -08:00
										 |  |  | import { GroupAPI } from "./class-interfaces/groups"; | 
					
						
							| 
									
										
										
										
											2021-08-07 15:12:25 -08:00
										 |  |  | import { BackupAPI } from "./class-interfaces/backups"; | 
					
						
							|  |  |  | import { UploadFile } from "./class-interfaces/upload"; | 
					
						
							| 
									
										
										
										
											2022-02-13 12:23:42 -09:00
										 |  |  | import { CategoriesAPI } from "./class-interfaces/organizer-categories"; | 
					
						
							|  |  |  | import { TagsAPI } from "./class-interfaces/organizer-tags"; | 
					
						
							| 
									
										
										
										
											2021-08-21 00:46:43 -08:00
										 |  |  | import { UtilsAPI } from "./class-interfaces/utils"; | 
					
						
							| 
									
										
										
										
											2021-08-22 15:23:45 -08:00
										 |  |  | import { FoodAPI } from "./class-interfaces/recipe-foods"; | 
					
						
							|  |  |  | import { UnitAPI } from "./class-interfaces/recipe-units"; | 
					
						
							| 
									
										
										
										
											2021-09-12 11:05:09 -08:00
										 |  |  | import { CookbookAPI } from "./class-interfaces/group-cookbooks"; | 
					
						
							| 
									
										
										
										
											2021-09-01 21:39:40 -08:00
										 |  |  | import { WebhooksAPI } from "./class-interfaces/group-webhooks"; | 
					
						
							| 
									
										
										
										
											2021-09-05 22:05:29 -08:00
										 |  |  | import { RegisterAPI } from "./class-interfaces/user-registration"; | 
					
						
							| 
									
										
										
										
											2021-09-12 11:05:09 -08:00
										 |  |  | import { MealPlanAPI } from "./class-interfaces/group-mealplan"; | 
					
						
							| 
									
										
										
										
											2021-10-03 18:38:45 -08:00
										 |  |  | import { EmailAPI } from "./class-interfaces/email"; | 
					
						
							| 
									
										
										
										
											2021-10-18 19:41:41 -08:00
										 |  |  | import { BulkActionsAPI } from "./class-interfaces/recipe-bulk-actions"; | 
					
						
							| 
									
										
										
										
											2021-10-23 16:42:20 -08:00
										 |  |  | import { GroupServerTaskAPI } from "./class-interfaces/group-tasks"; | 
					
						
							|  |  |  | import { AdminAPI } from "./admin-api"; | 
					
						
							| 
									
										
										
										
											2022-02-13 12:23:42 -09:00
										 |  |  | import { ToolsApi } from "./class-interfaces/organizer-tools"; | 
					
						
							| 
									
										
										
										
											2021-11-26 22:37:06 -09:00
										 |  |  | import { GroupMigrationApi } from "./class-interfaces/group-migrations"; | 
					
						
							|  |  |  | import { GroupReportsApi } from "./class-interfaces/group-reports"; | 
					
						
							| 
									
										
										
										
											2022-01-08 22:24:34 -09:00
										 |  |  | import { ShoppingApi } from "./class-interfaces/group-shopping-lists"; | 
					
						
							|  |  |  | import { MultiPurposeLabelsApi } from "./class-interfaces/group-multiple-purpose-labels"; | 
					
						
							| 
									
										
										
										
											2022-01-09 21:04:24 -09:00
										 |  |  | import { GroupEventNotifierApi } from "./class-interfaces/group-event-notifier"; | 
					
						
							| 
									
										
										
										
											2022-02-07 19:03:11 -09:00
										 |  |  | import { MealPlanRulesApi } from "./class-interfaces/group-mealplan-rules"; | 
					
						
							| 
									
										
										
										
											2022-05-01 12:45:50 -08:00
										 |  |  | import { GroupDataSeederApi } from "./class-interfaces/group-seeder"; | 
					
						
							| 
									
										
										
										
											2021-08-01 19:24:47 -08:00
										 |  |  | import { ApiRequestInstance } from "~/types/api"; | 
					
						
							| 
									
										
										
										
											2021-07-31 14:45:28 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 19:24:47 -08:00
										 |  |  | class Api { | 
					
						
							|  |  |  |   public recipes: RecipeAPI; | 
					
						
							| 
									
										
										
										
											2021-08-03 21:38:45 -08:00
										 |  |  |   public users: UserApi; | 
					
						
							| 
									
										
										
										
											2021-08-06 16:28:12 -08:00
										 |  |  |   public groups: GroupAPI; | 
					
						
							| 
									
										
										
										
											2021-08-07 15:12:25 -08:00
										 |  |  |   public backups: BackupAPI; | 
					
						
							| 
									
										
										
										
											2021-08-08 20:52:44 -08:00
										 |  |  |   public categories: CategoriesAPI; | 
					
						
							|  |  |  |   public tags: TagsAPI; | 
					
						
							| 
									
										
										
										
											2021-08-21 00:46:43 -08:00
										 |  |  |   public utils: UtilsAPI; | 
					
						
							| 
									
										
										
										
											2021-08-22 15:23:45 -08:00
										 |  |  |   public foods: FoodAPI; | 
					
						
							|  |  |  |   public units: UnitAPI; | 
					
						
							| 
									
										
										
										
											2021-08-31 14:39:02 -08:00
										 |  |  |   public cookbooks: CookbookAPI; | 
					
						
							| 
									
										
										
										
											2021-09-01 21:39:40 -08:00
										 |  |  |   public groupWebhooks: WebhooksAPI; | 
					
						
							| 
									
										
										
										
											2021-09-05 22:05:29 -08:00
										 |  |  |   public register: RegisterAPI; | 
					
						
							| 
									
										
										
										
											2021-09-12 11:05:09 -08:00
										 |  |  |   public mealplans: MealPlanAPI; | 
					
						
							| 
									
										
										
										
											2022-02-07 19:03:11 -09:00
										 |  |  |   public mealplanRules: MealPlanRulesApi; | 
					
						
							| 
									
										
										
										
											2021-10-03 18:38:45 -08:00
										 |  |  |   public email: EmailAPI; | 
					
						
							| 
									
										
										
										
											2021-10-18 19:41:41 -08:00
										 |  |  |   public bulk: BulkActionsAPI; | 
					
						
							| 
									
										
										
										
											2021-11-26 22:37:06 -09:00
										 |  |  |   public groupMigration: GroupMigrationApi; | 
					
						
							|  |  |  |   public groupReports: GroupReportsApi; | 
					
						
							| 
									
										
										
										
											2021-10-23 16:42:20 -08:00
										 |  |  |   public grouperServerTasks: GroupServerTaskAPI; | 
					
						
							| 
									
										
										
										
											2021-11-22 20:10:48 -09:00
										 |  |  |   public tools: ToolsApi; | 
					
						
							| 
									
										
										
										
											2022-01-08 22:24:34 -09:00
										 |  |  |   public shopping: ShoppingApi; | 
					
						
							|  |  |  |   public multiPurposeLabels: MultiPurposeLabelsApi; | 
					
						
							| 
									
										
										
										
											2022-01-09 21:04:24 -09:00
										 |  |  |   public groupEventNotifier: GroupEventNotifierApi; | 
					
						
							| 
									
										
										
										
											2021-08-07 15:12:25 -08:00
										 |  |  |   public upload: UploadFile; | 
					
						
							| 
									
										
										
										
											2022-05-01 12:45:50 -08:00
										 |  |  |   public seeders: GroupDataSeederApi; | 
					
						
							| 
									
										
										
										
											2021-07-31 14:45:28 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 19:24:47 -08:00
										 |  |  |   constructor(requests: ApiRequestInstance) { | 
					
						
							| 
									
										
										
										
											2021-08-08 20:52:44 -08:00
										 |  |  |     // Recipes
 | 
					
						
							| 
									
										
										
										
											2021-08-01 19:24:47 -08:00
										 |  |  |     this.recipes = new RecipeAPI(requests); | 
					
						
							| 
									
										
										
										
											2021-08-08 20:52:44 -08:00
										 |  |  |     this.categories = new CategoriesAPI(requests); | 
					
						
							|  |  |  |     this.tags = new TagsAPI(requests); | 
					
						
							| 
									
										
										
										
											2021-08-22 15:23:45 -08:00
										 |  |  |     this.units = new UnitAPI(requests); | 
					
						
							|  |  |  |     this.foods = new FoodAPI(requests); | 
					
						
							| 
									
										
										
										
											2021-11-22 20:10:48 -09:00
										 |  |  |     this.tools = new ToolsApi(requests); | 
					
						
							| 
									
										
										
										
											2021-08-08 20:52:44 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // Users
 | 
					
						
							| 
									
										
										
										
											2021-08-03 21:38:45 -08:00
										 |  |  |     this.users = new UserApi(requests); | 
					
						
							| 
									
										
										
										
											2021-08-06 16:28:12 -08:00
										 |  |  |     this.groups = new GroupAPI(requests); | 
					
						
							| 
									
										
										
										
											2021-08-31 14:39:02 -08:00
										 |  |  |     this.cookbooks = new CookbookAPI(requests); | 
					
						
							| 
									
										
										
										
											2021-09-01 21:39:40 -08:00
										 |  |  |     this.groupWebhooks = new WebhooksAPI(requests); | 
					
						
							| 
									
										
										
										
											2021-09-05 22:05:29 -08:00
										 |  |  |     this.register = new RegisterAPI(requests); | 
					
						
							| 
									
										
										
										
											2021-09-12 11:05:09 -08:00
										 |  |  |     this.mealplans = new MealPlanAPI(requests); | 
					
						
							| 
									
										
										
										
											2022-02-07 19:03:11 -09:00
										 |  |  |     this.mealplanRules = new MealPlanRulesApi(requests); | 
					
						
							| 
									
										
										
										
											2021-10-23 16:42:20 -08:00
										 |  |  |     this.grouperServerTasks = new GroupServerTaskAPI(requests); | 
					
						
							| 
									
										
										
										
											2021-08-08 20:52:44 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-26 22:37:06 -09:00
										 |  |  |     // Group
 | 
					
						
							|  |  |  |     this.groupMigration = new GroupMigrationApi(requests); | 
					
						
							|  |  |  |     this.groupReports = new GroupReportsApi(requests); | 
					
						
							| 
									
										
										
										
											2022-01-08 22:24:34 -09:00
										 |  |  |     this.shopping = new ShoppingApi(requests); | 
					
						
							|  |  |  |     this.multiPurposeLabels = new MultiPurposeLabelsApi(requests); | 
					
						
							| 
									
										
										
										
											2022-05-01 12:45:50 -08:00
										 |  |  |     this.seeders = new GroupDataSeederApi(requests); | 
					
						
							| 
									
										
										
										
											2021-11-26 22:37:06 -09:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-08 20:52:44 -08:00
										 |  |  |     // Admin
 | 
					
						
							| 
									
										
										
										
											2021-08-07 15:12:25 -08:00
										 |  |  |     this.backups = new BackupAPI(requests); | 
					
						
							| 
									
										
										
										
											2021-08-08 20:52:44 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // Utils
 | 
					
						
							| 
									
										
										
										
											2021-08-07 15:12:25 -08:00
										 |  |  |     this.upload = new UploadFile(requests); | 
					
						
							| 
									
										
										
										
											2021-08-21 00:46:43 -08:00
										 |  |  |     this.utils = new UtilsAPI(requests); | 
					
						
							| 
									
										
										
										
											2021-07-31 14:45:28 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-03 18:38:45 -08:00
										 |  |  |     this.email = new EmailAPI(requests); | 
					
						
							| 
									
										
										
										
											2021-10-18 19:41:41 -08:00
										 |  |  |     this.bulk = new BulkActionsAPI(requests); | 
					
						
							| 
									
										
										
										
											2022-01-09 21:04:24 -09:00
										 |  |  |     this.groupEventNotifier = new GroupEventNotifierApi(requests); | 
					
						
							| 
									
										
										
										
											2021-10-03 18:38:45 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-01 19:24:47 -08:00
										 |  |  |     Object.freeze(this); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-02 11:24:17 -08:00
										 |  |  | export { Api, AdminAPI }; |