Added update channel to calendar
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user