Add pirep comments and subfleets fares #118
This commit is contained in:
@@ -51,9 +51,9 @@ class FleetController extends RestController
|
||||
$where['id'] = $id;
|
||||
}
|
||||
|
||||
$all_aircraft = $this->aircraftRepo->all();
|
||||
#$all_aircraft = $this->aircraftRepo->all();
|
||||
$aircraft = $this->aircraftRepo
|
||||
->with(['subfleet'])
|
||||
->with(['subfleet', 'subfleet.fares'])
|
||||
->findWhere($where)
|
||||
->first();
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
35
app/Http/Resources/PirepComment.php
Normal file
35
app/Http/Resources/PirepComment.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\Resource;
|
||||
|
||||
/**
|
||||
* Class Response
|
||||
* @package App\Http\Resources
|
||||
* Generic response resource
|
||||
*/
|
||||
class PirepComment extends Resource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
$user = $this->user;
|
||||
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'comment' => $this->comment,
|
||||
'created_at' => $this->created_at,
|
||||
'user' => [
|
||||
'id' => $user->id,
|
||||
'pilot_id' => $user->pilot_id,
|
||||
'name' => $user->name,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
24
app/Http/Resources/Response.php
Normal file
24
app/Http/Resources/Response.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\Resource;
|
||||
|
||||
/**
|
||||
* Class Response
|
||||
* @package App\Http\Resources
|
||||
* Generic response resource
|
||||
*/
|
||||
class Response extends Resource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
return parent::toArray($request);
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@ class User extends Resource
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'pilot_id' => $this->pilot_id,
|
||||
'name' => $this->name,
|
||||
'email' => $this->email,
|
||||
'apikey' => $this->apikey,
|
||||
|
||||
Reference in New Issue
Block a user