Feat/table (#105)

* feat/table add react-table
* feat/table add protected table route
* feat/table upgrade dependencies
* feat/table support parsing of new properties

Co-authored-by: DeepSource Bot <bot@deepsource.io>
This commit is contained in:
Carlos Valente
2022-04-09 22:05:56 +02:00
committed by GitHub
parent 8841a02754
commit 67ddcd8c68
146 changed files with 7423 additions and 5780 deletions
+7 -4
View File
@@ -9,6 +9,8 @@ import {
event as eventDef,
} from '../models/eventsDefinition.js';
const MAX_EVENTS = 99;
async function _insertAt(entry, index) {
// get events
let events = data.events;
@@ -92,6 +94,11 @@ export const eventsPost = async (req, res) => {
return;
}
if (data.events.length > MAX_EVENTS) {
const error = `ERROR: Reached limit number of ${MAX_EVENTS} events`;
res.status(400).send(error);
}
// ensure structure
let newEvent = {};
const id = generateId();
@@ -275,8 +282,6 @@ export const eventsApplyDelay = async (req, res) => {
res.sendStatus(201);
} catch (error) {
console.log('debug:', error);
res.status(400).send(error);
}
};
@@ -299,8 +304,6 @@ export const eventsDelete = async (req, res) => {
res.sendStatus(201);
} catch (error) {
console.log('debug:', error);
res.status(400).send(error);
}
};
+47 -5
View File
@@ -59,18 +59,31 @@ const upload = async (file, req, res) => {
if (result?.error) {
res.status(400).send({ message: result.message });
} else if (result.message === 'success') {
if (result.data != null) {
if (result.data?.events != null) {
// explicitly write objects
if (typeof result.data !== 'undefined') {
if (typeof result.data?.events !== 'undefined') {
data.events = result.data.events;
global.timer.setupWithEventList(result.data?.events);
}
if (result.data?.event != null) {
if (typeof result.data?.event !== 'undefined') {
data.event = result.data.event;
}
if (result.data?.settings != null) {
if (typeof result.data?.settings !== 'undefined') {
data.settings = result.data.settings;
}
db.write();
if (typeof result.data?.osc !== 'undefined') {
data.osc = result.data.osc;
}
if (typeof result.data?.http !== 'undefined') {
data.http = result.data.http;
}
if (typeof result.data?.aliases !== 'undefined') {
data.aliases = result.data.aliases;
}
if (typeof result.data?.userFields !== 'undefined') {
data.userFields = result.data.userFields;
}
await db.write();
}
res.sendStatus(200);
} else {
@@ -163,6 +176,35 @@ export const postAliases = async (req, res) => {
}
};
// Create controller for GET request to '/ontime/userfields'
// Returns -
export const getUserFields = async (req, res) => {
// send userFields array
res.status(200).send(data.userFields);
};
// Create controller for POST request to '/ontime/userfields'
// Returns ACK message
export const postUserFields = async (req, res) => {
if (!req.body) {
res.status(400).send('No object found in request');
return;
}
try {
const newUserFields = { ...data.userFields };
for (const field in newUserFields) {
if (typeof req.body[field] !== 'undefined') {
newUserFields[field] = req.body[field];
}
}
data.userFields = newUserFields;
await db.write();
res.sendStatus(200);
} catch (error) {
res.status(400).send(error);
}
};
// Create controller for POST request to '/ontime/settings'
// Returns -
export const getSettings = async (req, res) => {