Skip to content

Commit e56a367

Browse files
committed
fix: preserve sys values when overwriting a doc
1 parent 1dd6c1a commit e56a367

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

.changeset/twenty-tips-leave.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@blinkk/root-cms': patch
3+
---
4+
5+
fix: preserve sys when copying a doc

packages/root-cms/ui/utils/doc.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,17 @@ export async function cmsCreateDoc(
488488
},
489489
fields: options?.fields ?? {},
490490
};
491+
492+
// Preserve "sys" values when copying and overwriting a doc.
493+
if (doc.exists() && !options?.overwrite) {
494+
const oldData = doc.data();
495+
data.sys = {
496+
...oldData.sys,
497+
modifiedAt: serverTimestamp(),
498+
modifiedBy: window.firebase.user.email,
499+
};
500+
}
501+
491502
await setDoc(docRef, data);
492503
logAction('doc.create', {metadata: {docId}});
493504
}

0 commit comments

Comments
 (0)