| 
									
										
										
										
											2022-10-22 11:51:07 -08:00
										 |  |  | import { BaseCRUDAPI } from "../base/base-clients"; | 
					
						
							|  |  |  | import { UnlockResults, UserIn, UserOut } from "~/lib/api/types/user"; | 
					
						
							| 
									
										
										
										
											2021-11-23 18:57:24 -09:00
										 |  |  | 
 | 
					
						
							|  |  |  | const prefix = "/api"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const routes = { | 
					
						
							|  |  |  |   adminUsers: `${prefix}/admin/users`, | 
					
						
							|  |  |  |   adminUsersId: (tag: string) => `${prefix}/admin/users/${tag}`, | 
					
						
							| 
									
										
										
										
											2022-08-13 13:18:12 -08:00
										 |  |  |   adminResetLockedUsers: (force: boolean) => `${prefix}/admin/users/unlock?force=${force ? "true" : "false"}`, | 
					
						
							| 
									
										
										
										
											2021-11-23 18:57:24 -09:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-21 21:22:02 +02:00
										 |  |  | export class AdminUsersApi extends BaseCRUDAPI<UserIn, UserOut, UserOut> { | 
					
						
							| 
									
										
										
										
											2021-11-23 18:57:24 -09:00
										 |  |  |   baseRoute: string = routes.adminUsers; | 
					
						
							|  |  |  |   itemRoute = routes.adminUsersId; | 
					
						
							| 
									
										
										
										
											2022-08-13 13:18:12 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   async unlockAllUsers(force = false) { | 
					
						
							|  |  |  |     return await this.requests.post<UnlockResults>(routes.adminResetLockedUsers(force), {}); | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2021-11-23 18:57:24 -09:00
										 |  |  | } |