validate-widget-data.js 558 B

12345678910111213141516171819202122
  1. import widgets from "widgets/widgets";
  2. export default function validateWidgetData(widget, endpoint, data) {
  3. let valid = true;
  4. let dataParsed;
  5. try {
  6. dataParsed = JSON.parse(data);
  7. } catch (e) {
  8. valid = false;
  9. }
  10. if (dataParsed && Object.entries(dataParsed).length) {
  11. const validate = widgets[widget.type]?.mappings?.[endpoint]?.validate;
  12. validate?.forEach(key => {
  13. if (dataParsed[key] === undefined) {
  14. valid = false;
  15. }
  16. });
  17. }
  18. return valid;
  19. }