mirror of
https://github.com/chartdb/chartdb.git
synced 2026-02-09 13:14:31 -06:00
fix: constraints align create function (#1049)
This commit is contained in:
@@ -1064,65 +1064,6 @@ export const ChartDBProvider: React.FC<
|
||||
[db, diagramId, setTables, addUndoAction, resetRedoStack, getIndex]
|
||||
);
|
||||
|
||||
const createCheckConstraint: ChartDBContext['createCheckConstraint'] =
|
||||
useCallback(
|
||||
async (tableId: string) => {
|
||||
const constraint: DBCheckConstraint = {
|
||||
id: generateId(),
|
||||
expression: '',
|
||||
createdAt: Date.now(),
|
||||
};
|
||||
|
||||
setTables((tables) =>
|
||||
tables.map((t) =>
|
||||
t.id === tableId
|
||||
? {
|
||||
...t,
|
||||
checkConstraints: [
|
||||
...(t.checkConstraints ?? []),
|
||||
constraint,
|
||||
],
|
||||
}
|
||||
: t
|
||||
)
|
||||
);
|
||||
|
||||
const dbTable = await db.getTable({ diagramId, id: tableId });
|
||||
if (!dbTable) {
|
||||
return constraint;
|
||||
}
|
||||
|
||||
const updatedAt = new Date();
|
||||
setDiagramUpdatedAt(updatedAt);
|
||||
await Promise.all([
|
||||
db.updateDiagram({
|
||||
id: diagramId,
|
||||
attributes: { updatedAt },
|
||||
}),
|
||||
db.updateTable({
|
||||
id: tableId,
|
||||
attributes: {
|
||||
...dbTable,
|
||||
checkConstraints: [
|
||||
...(dbTable.checkConstraints ?? []),
|
||||
constraint,
|
||||
],
|
||||
},
|
||||
}),
|
||||
]);
|
||||
|
||||
addUndoAction({
|
||||
action: 'addCheckConstraint',
|
||||
redoData: { tableId, constraint },
|
||||
undoData: { tableId, constraintId: constraint.id },
|
||||
});
|
||||
resetRedoStack();
|
||||
|
||||
return constraint;
|
||||
},
|
||||
[db, diagramId, setTables, addUndoAction, resetRedoStack]
|
||||
);
|
||||
|
||||
const addCheckConstraint: ChartDBContext['addCheckConstraint'] =
|
||||
useCallback(
|
||||
async (
|
||||
@@ -1180,6 +1121,22 @@ export const ChartDBProvider: React.FC<
|
||||
[db, diagramId, setTables, addUndoAction, resetRedoStack]
|
||||
);
|
||||
|
||||
const createCheckConstraint: ChartDBContext['createCheckConstraint'] =
|
||||
useCallback(
|
||||
async (tableId: string) => {
|
||||
const constraint: DBCheckConstraint = {
|
||||
id: generateId(),
|
||||
expression: '',
|
||||
createdAt: Date.now(),
|
||||
};
|
||||
|
||||
await addCheckConstraint(tableId, constraint);
|
||||
|
||||
return constraint;
|
||||
},
|
||||
[addCheckConstraint]
|
||||
);
|
||||
|
||||
const removeCheckConstraint: ChartDBContext['removeCheckConstraint'] =
|
||||
useCallback(
|
||||
async (
|
||||
|
||||
Reference in New Issue
Block a user