Skip to content

Commit 30e916b

Browse files
HugoGresseCopilot
andauthored
Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
1 parent 49b457c commit 30e916b

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/events/page/sessions/EventSession.tsx

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { useLocation, useRoute } from 'wouter'
66
import { FirestoreQueryLoaderAndErrorDisplay } from '../../../components/FirestoreQueryLoaderAndErrorDisplay'
77
import { ArrowBack } from '@mui/icons-material'
88
import { EventSessionForm } from './EventSessionForm'
9-
import { deleteDoc, doc, getDocs, query, where } from 'firebase/firestore'
9+
import { deleteDoc, doc, getDocs, query, where, writeBatch } from 'firebase/firestore'
1010
import { collections } from '../../../services/firebase'
1111
import {
1212
useFirestoreDocumentDeletion,
@@ -57,16 +57,21 @@ export const EventSession = ({ event }: EventSessionProps) => {
5757
async (speakerIds: string[]) => {
5858
setOrphanDeleting(true)
5959
try {
60+
const batch = writeBatch(collections.speakers(event.id).firestore)
6061
for (const speakerId of speakerIds) {
61-
await deleteDoc(doc(collections.speakers(event.id), speakerId))
62+
const speakerRef = doc(collections.speakers(event.id), speakerId)
63+
batch.delete(speakerRef)
6264
}
63-
} finally {
64-
setOrphanDeleting(false)
65+
await batch.commit()
6566
setOrphanDeleteOpen(false)
6667
setLocation('/sessions')
68+
} catch (error) {
69+
console.error('Failed to delete orphaned speakers', error)
70+
} finally {
71+
setOrphanDeleting(false)
6772
}
6873
},
69-
[event.id]
74+
[event.id, setLocation]
7075
)
7176

7277
if (sessionResult.isLoading || !sessionResult.data) {

0 commit comments

Comments
 (0)