add post log api

This commit is contained in:
Timo Hocker 2020-08-19 12:43:22 +02:00
parent 039409f9f5
commit b70b80bbea
3 changed files with 43 additions and 0 deletions

View File

@ -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
View 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 ();
};

View File

@ -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 });
}
});