forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			996 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			996 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 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}`)
 | |
|         }
 | |
|     }
 | |
| }
 |