diff --git a/packages/client/src/store/actions/copyPaste.ts b/packages/client/src/store/actions/copyPaste.ts index 48e4f081b..e41f26d2d 100644 --- a/packages/client/src/store/actions/copyPaste.ts +++ b/packages/client/src/store/actions/copyPaste.ts @@ -216,6 +216,7 @@ export const pasteSlotsWeek = slots.forEach(({ id, date: oldDate, ...slotData }) => { const luxonDate = fromISO(oldDate).plus({ weeks: jump }); const date = luxon2ISODate(luxonDate); + console.log("Slot coll ref", slotsCollRef); const newSlotRef = doc(slotsCollRef); batch.set(newSlotRef, { ...slotData, date }); }); diff --git a/packages/client/src/utils/firestore/compat.ts b/packages/client/src/utils/firestore/compat.ts index f77c9fe1b..765c4a6ef 100644 --- a/packages/client/src/utils/firestore/compat.ts +++ b/packages/client/src/utils/firestore/compat.ts @@ -96,10 +96,12 @@ export const doc = ( FirestoreDocVariant.client({ // Even though 'doc' (aliased as 'clientDoc' here) works on both firestore and collection instanceerences, // it doesn't work well on unions because of slightly different type overloads, hence the typecast. - instance: clientDoc( - instance as ClientFirestore, - pathSegments.join("/") - ), + instance: docPath.length + ? clientDoc( + instance as ClientCollectionReference, + docPath.length ? docPath : undefined + ) + : clientDoc(instance as ClientCollectionReference), }), [FirestoreEnv.Server]: ({ instance }) => FirestoreDocVariant.server({ @@ -235,7 +237,7 @@ export const writeBatch = (db: FirestoreVariant) => } return batch.set(doc.instance, data); }, - commit: batch.commit, + commit: batch.commit.bind(batch), }; }, [FirestoreEnv.Server]: ({ instance }) => { @@ -248,7 +250,7 @@ export const writeBatch = (db: FirestoreVariant) => } return batch.set(doc.instance, data); }, - commit: batch.commit, + commit: batch.commit.bind(batch), }; }, });