feat: API wrapper for timestamps
This commit is contained in:
		
							parent
							
								
									a9d67eb0bf
								
							
						
					
					
						commit
						cfdda0402f
					
				
					 1 changed files with 45 additions and 0 deletions
				
			
		
							
								
								
									
										45
									
								
								scripts/timestampAPI.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								scripts/timestampAPI.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | ||||||
|  | var TimeProcessor = require('./timeprocessor').TimeProcessor; | ||||||
|  | const Messaging = require('./messaging').Messaging; | ||||||
|  | 
 | ||||||
|  | class TimestampAPI { | ||||||
|  |   /*  | ||||||
|  |     Custom paths used for the API.  | ||||||
|  |   */ | ||||||
|  |   #paths = { | ||||||
|  |     "conversion": "/:date" | ||||||
|  |   }   | ||||||
|  |    | ||||||
|  |   /* | ||||||
|  |     Create the time stamp with direct access to the Express instance.  | ||||||
|  | 
 | ||||||
|  |     @param {Express} instance - The Express instance | ||||||
|  |   */ | ||||||
|  |   constructor(instance) { | ||||||
|  |     this[`instance`] = instance; | ||||||
|  | 
 | ||||||
|  |     // your first API endpoint... 
 | ||||||
|  |     instance.get("/api/hello", function (req, res) { | ||||||
|  |       res.json({greeting: 'hello API'}); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     this.conversion(); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   /* | ||||||
|  |     Handle conversion requests.  | ||||||
|  |   */ | ||||||
|  |   conversion() { | ||||||
|  |     [`/api`, `/api${this.#paths["conversion"]}`].forEach((PATH) => { | ||||||
|  |       [`get`, `post`].forEach((METHOD) => { | ||||||
|  |         this[`instance`][METHOD](PATH, (REQUEST, RESPONSE) => { | ||||||
|  |           try { | ||||||
|  |             let RESPONSE_DATA = TimeProcessor.convert((Object.keys(REQUEST.params).length ? REQUEST.params.date : false) ? REQUEST.params.date : (new Date()).toUTCString()); | ||||||
|  |             RESPONSE.json(RESPONSE_DATA); | ||||||
|  |           } catch(ERROR) {Messaging.exception(RESPONSE, ERROR)} | ||||||
|  |         }) | ||||||
|  |       }) | ||||||
|  |     }) | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | module.exports = {TimestampAPI} | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue