Add pirep comments and subfleets fares #118

This commit is contained in:
Nabeel Shahzad
2018-01-23 21:40:34 -06:00
parent f9efa81bb4
commit 9964eb63fb
9 changed files with 191 additions and 72 deletions

View File

@@ -2,6 +2,7 @@
namespace App\Http\Controllers\Api;
use App\Models\PirepComment;
use Log;
use Auth;
use Illuminate\Database\Eloquent\ModelNotFoundException;
@@ -20,6 +21,7 @@ use App\Repositories\AcarsRepository;
use App\Repositories\PirepRepository;
use App\Http\Resources\Pirep as PirepResource;
use App\Http\Resources\PirepComment as PirepCommentResource;
use App\Http\Resources\AcarsRoute as AcarsRouteResource;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
@@ -328,6 +330,44 @@ class PirepController extends RestController
return $this->message($count . ' logs added', $count);
}
/**
* Add a new comment
* @param $id
* @param Request $request
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
*/
public function comments_get($id, Request $request)
{
$pirep = $this->pirepRepo->find($id);
return PirepCommentResource::collection($pirep->comments);
}
/**
* Add a new comment
* @param $id
* @param Request $request
* @return PirepCommentResource
* @throws \Symfony\Component\HttpKernel\Exception\BadRequestHttpException
*/
public function comments_post($id, Request $request)
{
$pirep = $this->pirepRepo->find($id);
if ($pirep->state === PirepState::CANCELLED) {
throw new BadRequestHttpException('PIREP has been cancelled, comments can\'t be posted');
}
# validation
$this->validate($request, ['comment' => 'required']);
# Add it
$comment = new PirepComment($request->post());
$comment->pirep_id = $id;
$comment->user_id = Auth::user()->id;
$comment->save();
return new PirepCommentResource($comment);
}
/**
* @param $id
* @param Request $request