Update store on data model mutation (#18684)

- enrich SSE events with relations
- remove queries from sse metadata events
- on sse event, manage store
- on object/field metadata changes, manage store

TODO left:
- fix other metadata items

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@twenty.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Thomas Trompette
2026-03-17 19:32:19 +01:00
committed by GitHub
parent e62dfae741
commit 994215e0dc
35 changed files with 1399 additions and 925 deletions
@@ -12,7 +12,7 @@ export const JestObjectMetadataItemSetter = ({
children: ReactNode;
objectMetadataItems?: ObjectMetadataItem[];
}) => {
const { updateDraft, applyChanges } = useMetadataStore();
const { replaceDraft, applyChanges } = useMetadataStore();
const [isLoaded, setIsLoaded] = useState(false);
useEffect(() => {
@@ -20,12 +20,12 @@ export const JestObjectMetadataItemSetter = ({
const { flatObjects, flatFields, flatIndexes } =
splitObjectMetadataItemWithRelated(items);
updateDraft('objectMetadataItems', flatObjects);
updateDraft('fieldMetadataItems', flatFields);
updateDraft('indexMetadataItems', flatIndexes);
replaceDraft('objectMetadataItems', flatObjects);
replaceDraft('fieldMetadataItems', flatFields);
replaceDraft('indexMetadataItems', flatIndexes);
applyChanges();
setIsLoaded(true);
}, [objectMetadataItems, updateDraft, applyChanges]);
}, [objectMetadataItems, replaceDraft, applyChanges]);
return isLoaded ? <>{children}</> : null;
};