fix: allow admin to edit any booking via admin endpoint
This commit is contained in:
@@ -81,15 +81,18 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, watch, computed } from 'vue'
|
||||
import { bookingsApi, handleApiError } from '@/services/api'
|
||||
import { bookingsApi, adminBookingsApi, handleApiError } from '@/services/api'
|
||||
import { useAuthStore } from '@/stores/auth'
|
||||
import { isoToLocalDateTime, localDateTimeToISO } from '@/utils/datetime'
|
||||
import type { Booking } from '@/types'
|
||||
|
||||
const props = defineProps<{
|
||||
const props = withDefaults(defineProps<{
|
||||
booking: Booking | null
|
||||
show: boolean
|
||||
}>()
|
||||
isAdmin?: boolean
|
||||
}>(), {
|
||||
isAdmin: false
|
||||
})
|
||||
|
||||
const emit = defineEmits<{
|
||||
close: []
|
||||
@@ -141,12 +144,18 @@ const saveEdit = async () => {
|
||||
const startDateTime = `${editForm.value.start_date}T${editForm.value.start_time}`
|
||||
const endDateTime = `${editForm.value.end_date}T${editForm.value.end_time}`
|
||||
|
||||
await bookingsApi.update(props.booking.id, {
|
||||
const updateData = {
|
||||
title: editForm.value.title,
|
||||
description: editForm.value.description,
|
||||
start_datetime: localDateTimeToISO(startDateTime),
|
||||
end_datetime: localDateTimeToISO(endDateTime)
|
||||
})
|
||||
}
|
||||
|
||||
if (props.isAdmin) {
|
||||
await adminBookingsApi.update(props.booking.id, updateData)
|
||||
} else {
|
||||
await bookingsApi.update(props.booking.id, updateData)
|
||||
}
|
||||
emit('saved')
|
||||
} catch (err) {
|
||||
editError.value = handleApiError(err)
|
||||
|
||||
@@ -230,6 +230,7 @@
|
||||
<BookingEditModal
|
||||
:booking="editingBooking"
|
||||
:show="showEditModal"
|
||||
:is-admin="isAdmin"
|
||||
@close="closeEditModal"
|
||||
@saved="onEditSaved"
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user