add post log api
This commit is contained in:
		| @@ -13,4 +13,6 @@ const router = require ('express') | ||||
| router.get ('/log', require ('./get-log')); | ||||
| router.get ('/app', require ('./get-app')); | ||||
|  | ||||
| router.post ('/log', require ('./post-log')); | ||||
|  | ||||
| module.exports = router; | ||||
|   | ||||
							
								
								
									
										36
									
								
								lib/api/post-log.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								lib/api/post-log.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| /* | ||||
|  * Copyright (C) Sapphirecode - All Rights Reserved | ||||
|  * This file is part of appreports which is released under GPL-3.0-or-later. | ||||
|  * See file 'LICENSE' for full license details. | ||||
|  * Created by Timo Hocker <timo@scode.ovh>, August 2020 | ||||
|  */ | ||||
|  | ||||
| 'use strict'; | ||||
|  | ||||
| const db = require ('../db'); | ||||
| const { http } = require ('@sapphirecode/consts'); | ||||
|  | ||||
| module.exports = async (req, res) => { | ||||
|   const { app_id } = req.headers; | ||||
|   if ( | ||||
|     app_id === 'undefined' | ||||
|     || isNaN (parseInt (app_id)) | ||||
|   ) { | ||||
|     res.status (http.status_bad_request) | ||||
|       .end (); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   const log = req.body; | ||||
|   if (typeof log !== 'object') { | ||||
|     res.status (http.status_bad_request) | ||||
|       .end (); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   const { message, data, timestamp } = log; | ||||
|   await db.log.insert (app_id, message, data, timestamp); | ||||
|  | ||||
|   res.status (http.status_created) | ||||
|     .end (); | ||||
| }; | ||||
| @@ -18,5 +18,10 @@ module.exports = (get_db) => ({ | ||||
|     ) | ||||
|       .from ('log') | ||||
|       .where ({ app_id }); | ||||
|   }, | ||||
|   insert (app_id, message, data = '{}', timestamp = (new Date)) { | ||||
|     const knex = get_db (); | ||||
|     return knex ('log') | ||||
|       .insert ({ message, data, timestamp, app_id }); | ||||
|   } | ||||
| }); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user