| 
									
										
										
										
											2022-10-22 11:51:07 -08:00
										 |  |  | import { BaseAPI } from "../base/base-clients"; | 
					
						
							| 
									
										
										
										
											2025-06-20 00:09:12 +07:00
										 |  |  | import type { ReportCategory, ReportOut, ReportSummary } from "~/lib/api/types/reports"; | 
					
						
							| 
									
										
										
										
											2021-11-26 22:37:06 -09:00
										 |  |  | 
 | 
					
						
							|  |  |  | const prefix = "/api"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const routes = { | 
					
						
							|  |  |  |   base: `${prefix}/groups/reports`, | 
					
						
							|  |  |  |   getOne: (id: string) => `${prefix}/groups/reports/${id}`, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export class GroupReportsApi extends BaseAPI { | 
					
						
							|  |  |  |   async getAll(category: ReportCategory | null) { | 
					
						
							|  |  |  |     const query = category ? `?report_type=${category}` : ""; | 
					
						
							|  |  |  |     return await this.requests.get<ReportSummary[]>(routes.base + query); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   async getOne(id: string) { | 
					
						
							| 
									
										
										
										
											2022-05-21 21:22:02 +02:00
										 |  |  |     return await this.requests.get<ReportOut>(routes.getOne(id)); | 
					
						
							| 
									
										
										
										
											2021-11-26 22:37:06 -09:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   async deleteOne(id: string) { | 
					
						
							|  |  |  |     return await this.requests.delete(routes.getOne(id)); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |