Add error checking for enums

This commit is contained in:
1ilit
2024-07-04 02:10:24 +03:00
parent d48ccfff4b
commit d7025e1ff1
4 changed files with 28 additions and 3 deletions

View File

@@ -9,7 +9,7 @@ function checkDefault(field, database) {
if (!field.notNull && field.default.toLowerCase() === "null") return true;
if(!dbToTypes[database][field.type].checkDefault) return true;
if (!dbToTypes[database][field.type].checkDefault) return true;
return dbToTypes[database][field.type].checkDefault(field);
}
@@ -169,6 +169,24 @@ export function getIssues(diagram) {
});
});
const duplicateEnumNames = {};
diagram.enums.forEach((e) => {
if (e.name === "") {
issues.push(i18n.t("enum_w_no_name"));
}
if (duplicateEnumNames[e.name]) {
issues.push(i18n.t("duplicate_enums", { enumName: e.name }));
} else {
duplicateEnumNames[e.name] = true;
}
if (e.values.length === 0) {
issues.push(i18n.t("enum_w_no_values", { enumName: e.name }));
return;
}
});
const duplicateFKName = {};
diagram.relationships.forEach((r) => {
if (duplicateFKName[r.name]) {