mirror of
https://github.com/karl0ss/homepage.git
synced 2025-05-20 21:16:19 +01:00
Further widget validation cleanup
This commit is contained in:
parent
a83d105764
commit
dacb038126
@ -5,6 +5,7 @@ export default function validateWidgetData(widget, endpoint, data) {
|
|||||||
let valid = true;
|
let valid = true;
|
||||||
let dataParsed = data;
|
let dataParsed = data;
|
||||||
let error;
|
let error;
|
||||||
|
let mapping;
|
||||||
if (Buffer.isBuffer(data)) {
|
if (Buffer.isBuffer(data)) {
|
||||||
try {
|
try {
|
||||||
dataParsed = JSON.parse(data);
|
dataParsed = JSON.parse(data);
|
||||||
@ -17,7 +18,7 @@ export default function validateWidgetData(widget, endpoint, data) {
|
|||||||
if (dataParsed && Object.entries(dataParsed).length) {
|
if (dataParsed && Object.entries(dataParsed).length) {
|
||||||
const mappings = widgets[widget.type]?.mappings;
|
const mappings = widgets[widget.type]?.mappings;
|
||||||
if (mappings) {
|
if (mappings) {
|
||||||
const mapping = Object.values(mappings).find(m => m.endpoint === endpoint);
|
mapping = Object.values(mappings).find(m => m.endpoint === endpoint);
|
||||||
mapping?.validate?.forEach(key => {
|
mapping?.validate?.forEach(key => {
|
||||||
if (dataParsed[key] === undefined) {
|
if (dataParsed[key] === undefined) {
|
||||||
valid = false;
|
valid = false;
|
||||||
@ -27,7 +28,7 @@ export default function validateWidgetData(widget, endpoint, data) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
console.warn(`Invalid data for widget '${widget.type}' endpoint '${endpoint}':\nParse error: ${error ?? "none"}\nData: ${JSON.stringify(data, null, " ")}`);
|
console.warn(`Invalid data for widget '${widget.type}' endpoint '${endpoint}':\nExpected:${mapping?.validate}\nParse error: ${error ?? "none"}\nData: ${JSON.stringify(data)}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
return valid;
|
return valid;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user