Check for invalid references on import

This commit is contained in:
1ilit 2024-08-02 14:59:21 +03:00
parent ed12e3b9f5
commit 52b4477065

View File

@ -86,6 +86,35 @@ export default function ImportDiagram({ setImportData, error, setError }) {
return;
}
let ok = true;
jsonObject.relationships.forEach((rel) => {
if (
!jsonObject.tables[rel.startTableId] ||
!jsonObject.tables[rel.endTableId]
) {
setError({
type: STATUS.ERROR,
message: `Relationship ${rel.name} references a table that does not exist.`,
});
ok = false;
return;
}
if (
!jsonObject.tables[rel.startTableId].fields[rel.startFieldId] ||
!jsonObject.tables[rel.endTableId].fields[rel.endFieldId]
) {
setError({
type: STATUS.ERROR,
message: `Relationship ${rel.name} references a field that does not exist.`,
});
ok = false;
return;
}
});
if (!ok) return;
setImportData(jsonObject);
if (diagramIsEmpty()) {
setError({