Fix import diagram

This commit is contained in:
1ilit 2024-07-08 04:03:41 +03:00
parent 09f9117b72
commit 159dcca4dc
3 changed files with 19 additions and 2 deletions

View File

@ -936,6 +936,7 @@ export default function ControlPanel({
relationships: relationships, relationships: relationships,
notes: notes, notes: notes,
subjectAreas: areas, subjectAreas: areas,
database: database,
...(databases[database].hasTypes && { types: types }), ...(databases[database].hasTypes && { types: types }),
...(databases[database].hasEnums && { enums: enums }), ...(databases[database].hasEnums && { enums: enums }),
title: title, title: title,
@ -996,6 +997,7 @@ export default function ControlPanel({
relationships: relationships, relationships: relationships,
notes: notes, notes: notes,
subjectAreas: areas, subjectAreas: areas,
database: database,
...(databases[database].hasTypes && { types: types }), ...(databases[database].hasTypes && { types: types }),
...(databases[database].hasEnums && { enums: enums }), ...(databases[database].hasEnums && { enums: enums }),
}, },

View File

@ -3,7 +3,7 @@ import {
jsonDiagramIsValid, jsonDiagramIsValid,
} from "../../../utils/validateSchema"; } from "../../../utils/validateSchema";
import { Upload, Banner } from "@douyinfe/semi-ui"; import { Upload, Banner } from "@douyinfe/semi-ui";
import { STATUS } from "../../../data/constants"; import { DB, STATUS } from "../../../data/constants";
import { import {
useAreas, useAreas,
useEnums, useEnums,
@ -16,7 +16,7 @@ import { useTranslation } from "react-i18next";
export default function ImportDiagram({ setImportData, error, setError }) { export default function ImportDiagram({ setImportData, error, setError }) {
const { areas } = useAreas(); const { areas } = useAreas();
const { notes } = useNotes(); const { notes } = useNotes();
const { tables, relationships } = useDiagram(); const { tables, relationships, database } = useDiagram();
const { types } = useTypes(); const { types } = useTypes();
const { enums } = useEnums(); const { enums } = useEnums();
const { t } = useTranslation(); const { t } = useTranslation();
@ -72,6 +72,20 @@ export default function ImportDiagram({ setImportData, error, setError }) {
return; return;
} }
} }
if (!jsonObject.database) {
jsonObject.database = DB.GENERIC;
}
if (jsonObject.database !== database) {
setError({
type: STATUS.ERROR,
message:
"The imported diagram and the open diagram don't use matching databases.",
});
return;
}
setImportData(jsonObject); setImportData(jsonObject);
if (diagramIsEmpty()) { if (diagramIsEmpty()) {
setError({ setError({

View File

@ -171,6 +171,7 @@ export const jsonSchema = {
items: { ...enumSchema }, items: { ...enumSchema },
}, },
title: { type: "string" }, title: { type: "string" },
database: { type: "string" },
}, },
required: ["tables", "relationships", "notes", "subjectAreas"], required: ["tables", "relationships", "notes", "subjectAreas"],
}; };