diff --git a/app/Http/Controllers/WishesController.php b/app/Http/Controllers/WishesController.php index f7a0828..984ef1b 100644 --- a/app/Http/Controllers/WishesController.php +++ b/app/Http/Controllers/WishesController.php @@ -99,4 +99,15 @@ class WishesController extends Controller $wish->save(); return response()->json($wish, 200); } + + public function unbook(Request $request) + { + $request->validate([ + 'id' => 'required|exists:wishes,id' + ]); + $wish = Wish::find($request->get('id')); + $wish->book_user_id = null; + $wish->save(); + return response()->json($wish, 200); + } } diff --git a/resources/store/wish.js b/resources/store/wish.js index 5fcbabe..5291ce0 100644 --- a/resources/store/wish.js +++ b/resources/store/wish.js @@ -103,6 +103,25 @@ export const useWishStore = defineStore('wish', { result = error; }); return result; + }, + async unbook(id, token){ + let result = null; + await axios.post(`/api/wish/unbook`, + { + id: id + }, + { + headers: { + Authorization: `Bearer ${token}`, + token: token + }, + } + ).then((response)=>{ + result = response; + }).catch((error)=>{ + result = error; + }); + return result; } }, }) diff --git a/resources/views/Public.vue b/resources/views/Public.vue index b195dc6..1330cbd 100644 --- a/resources/views/Public.vue +++ b/resources/views/Public.vue @@ -1,19 +1,27 @@ diff --git a/routes/api.php b/routes/api.php index 95e146d..05b25f9 100644 --- a/routes/api.php +++ b/routes/api.php @@ -39,5 +39,6 @@ Route::group(['prefix' => 'wish'], function () { Route::post('destroy', [WishesController::class, 'destroy']); Route::get('by_id/{id}', [WishesController::class, 'getWishById']); Route::post('book', [WishesController::class, 'book']); + Route::post('unbook', [WishesController::class, 'unbook']); }); });