예제 #1
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy(Request $request, $id)
 {
     $this->validate($request, ['action' => 'string|in:delete,restore,force_delete']);
     $story = Story::withTrashed()->find($id);
     if (empty($story)) {
         abort(404);
     }
     if ($request->user()->cannot('delete-story', $story)) {
         abort(403);
     }
     switch ($request->input('action')) {
         case 'restore':
             $story->restoreWithRelationships();
             break;
         case 'force_delete':
             $story->forceDeleteWithRelationships();
             break;
         default:
             $story->deleteWithRelationships();
     }
 }