Added update channel to calendar

This commit is contained in:
Alexis
2025-03-07 21:36:10 +01:00
parent 655f5d20f3
commit ae8937e7a6
2 changed files with 26 additions and 1 deletions

View File

@@ -75,7 +75,7 @@ onMounted(() => {
case "UPDATE":
if (!worlds.value?.data) return
worlds.value.data = (await $fetch("/api/worlds/query", { query: { gmId: user?.value!.id } })).data as World[]
worlds.value.data = (await $fetch("/api/worlds/query", { query: { gmId: user?.value!.id } })).data as World[]
break
default:

View File

@@ -47,6 +47,27 @@ function handleInsertedCalendar(newCalendar: CalendarChannelPayload) {
}
}
/** Handles calendar insertion realtime events */
function handleUpdatedCalendar(newCalendar: CalendarChannelPayload) {
if (!world.value) return
try {
world.value.data.calendars = world.value.data.calendars?.map(c => {
if (c.id === newCalendar.id) {
const eventNb = c.eventNb
c = newCalendar
c.createdAt = newCalendar.created_at
c.updatedAt = newCalendar.updated_at
c.eventNb = eventNb
}
return c
})
} catch (err) {
console.log(err)
}
}
/** Handles calendar deletion realtime events */
function handleDeletedCalendar(id: number) {
if (!world.value) return
@@ -73,6 +94,10 @@ onMounted(() => {
handleDeletedCalendar(payload.old.id)
break
case "UPDATE":
handleUpdatedCalendar(payload.new as Calendar)
break
default:
console.log("Unknown event has been triggered. This should not happen unless Supabase added one somehow.")
break