| 
									
										
										
										
											2022-10-22 11:51:07 -08:00
										 |  |  | import { BaseAPI } from "../base/base-clients"; | 
					
						
							| 
									
										
										
										
											2025-06-20 00:09:12 +07:00
										 |  |  | import type { SuccessResponse } from "~/lib/api/types/response"; | 
					
						
							|  |  |  | import type { MaintenanceLogs, MaintenanceStorageDetails, MaintenanceSummary } from "~/lib/api/types/admin"; | 
					
						
							| 
									
										
										
										
											2022-03-24 22:17:38 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | const prefix = "/api"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const routes = { | 
					
						
							|  |  |  |   base: `${prefix}/admin/maintenance`, | 
					
						
							| 
									
										
										
										
											2022-03-29 08:25:28 -08:00
										 |  |  |   storage: `${prefix}/admin/maintenance/storage`, | 
					
						
							|  |  |  |   logs: (lines: number) => `${prefix}/admin/maintenance/logs?lines=${lines}`, | 
					
						
							|  |  |  |   cleanTemp: `${prefix}/admin/maintenance/clean/temp`, | 
					
						
							| 
									
										
										
										
											2022-03-24 22:17:38 -08:00
										 |  |  |   cleanImages: `${prefix}/admin/maintenance/clean/images`, | 
					
						
							|  |  |  |   cleanRecipeFolders: `${prefix}/admin/maintenance/clean/recipe-folders`, | 
					
						
							|  |  |  |   cleanLogFile: `${prefix}/admin/maintenance/clean/logs`, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export class AdminMaintenanceApi extends BaseAPI { | 
					
						
							|  |  |  |   async getInfo() { | 
					
						
							|  |  |  |     return this.requests.get<MaintenanceSummary>(routes.base); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-29 08:25:28 -08:00
										 |  |  |   async getStorageDetails() { | 
					
						
							|  |  |  |     return await this.requests.get<MaintenanceStorageDetails>(routes.storage); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   async cleanTemp() { | 
					
						
							|  |  |  |     return await this.requests.post<SuccessResponse>(routes.cleanTemp, {}); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-24 22:17:38 -08:00
										 |  |  |   async cleanImages() { | 
					
						
							|  |  |  |     return await this.requests.post<SuccessResponse>(routes.cleanImages, {}); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   async cleanRecipeFolders() { | 
					
						
							|  |  |  |     return await this.requests.post<SuccessResponse>(routes.cleanRecipeFolders, {}); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   async cleanLogFile() { | 
					
						
							|  |  |  |     return await this.requests.post<SuccessResponse>(routes.cleanLogFile, {}); | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2022-03-29 08:25:28 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   async logs(lines: number) { | 
					
						
							|  |  |  |     return await this.requests.get<MaintenanceLogs>(routes.logs(lines)); | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2022-03-24 22:17:38 -08:00
										 |  |  | } |