forked from MapComplete/MapComplete
		
	Allow closing Maproulette tasks
This commit is contained in:
		
							parent
							
								
									a1bffc7b7f
								
							
						
					
					
						commit
						65997291bb
					
				
					 12 changed files with 309 additions and 165 deletions
				
			
		
							
								
								
									
										39
									
								
								Logic/Maproulette.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								Logic/Maproulette.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,39 @@ | |||
| import Constants from "../Models/Constants"; | ||||
| 
 | ||||
| export default class Maproulette { | ||||
|   /** | ||||
|    * The API endpoint to use | ||||
|    */ | ||||
|   endpoint: string; | ||||
| 
 | ||||
|   /** | ||||
|    * The API key to use for all requests | ||||
|    */ | ||||
|   private apiKey: string; | ||||
| 
 | ||||
|   /** | ||||
|    * Creates a new Maproulette instance | ||||
|    * @param endpoint The API endpoint to use | ||||
|    */ | ||||
|   constructor(endpoint: string = "https://maproulette.org/api/v2") { | ||||
|     this.endpoint = endpoint; | ||||
|     this.apiKey = Constants.MaprouletteApiKey; | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * Close a task | ||||
|    * @param taskId The task to close | ||||
|    */ | ||||
|   async closeTask(taskId: number): Promise<void> { | ||||
|     const response = await fetch(`${this.endpoint}/task/${taskId}/1`, { | ||||
|       method: "PUT", | ||||
|       headers: { | ||||
|         "Content-Type": "application/json", | ||||
|         "apiKey": this.apiKey, | ||||
|       }, | ||||
|     }); | ||||
|     if (response.status !== 304) { | ||||
|       console.log(`Failed to close task: ${response.status}`); | ||||
|     } | ||||
|   } | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue