Fix the user api response, don't return bids by default, fix flights column #639
This commit is contained in:
@@ -90,7 +90,7 @@ class UserController extends Controller
|
|||||||
public function get($id)
|
public function get($id)
|
||||||
{
|
{
|
||||||
$user = $this->userRepo
|
$user = $this->userRepo
|
||||||
->with(['airline', 'bids', 'rank'])
|
->with(['airline', 'rank'])
|
||||||
->find($id);
|
->find($id);
|
||||||
|
|
||||||
return new UserResource($user);
|
return new UserResource($user);
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
namespace App\Http\Resources;
|
namespace App\Http\Resources;
|
||||||
|
|
||||||
use App\Contracts\Resource;
|
use App\Contracts\Resource;
|
||||||
use App\Http\Resources\Flight as FlightResource;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @mixin \App\Models\User
|
* @mixin \App\Models\User
|
||||||
@@ -30,7 +29,6 @@ class User extends Resource
|
|||||||
|
|
||||||
$res['airline'] = Airline::make($this->airline);
|
$res['airline'] = Airline::make($this->airline);
|
||||||
$res['bids'] = UserBid::collection($this->whenLoaded('bids'));
|
$res['bids'] = UserBid::collection($this->whenLoaded('bids'));
|
||||||
$res['flights'] = new FlightResource($this->whenLoaded('flights'));
|
|
||||||
$res['rank'] = Rank::make($this->rank);
|
$res['rank'] = Rank::make($this->rank);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -4,17 +4,20 @@ namespace App\Http\Resources;
|
|||||||
|
|
||||||
use App\Contracts\Resource;
|
use App\Contracts\Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @mixin \App\Models\Bid
|
||||||
|
*/
|
||||||
class UserBid extends Resource
|
class UserBid extends Resource
|
||||||
{
|
{
|
||||||
public function toArray($request)
|
public function toArray($request)
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'id' => $this->id,
|
'id' => $this->id,
|
||||||
'user_id' => $this->user_id,
|
'user_id' => $this->user_id,
|
||||||
'flight_id' => $this->flight_id,
|
'flight_id' => $this->flight_id,
|
||||||
'flights' => Flight::collection($this->whenLoaded('flight')),
|
'created_at' => $this->created_at,
|
||||||
//'created_at' => $this->created_at,
|
'updated_at' => $this->updated_at,
|
||||||
//'updated_at' => $this->updated_at,
|
'flight' => new Flight($this->whenLoaded('flight')),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,14 @@
|
|||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
use App\Contracts\Model;
|
use App\Contracts\Model;
|
||||||
|
use Carbon\Carbon;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @property string user_id
|
||||||
|
* @property string flight_id
|
||||||
|
* @property Carbon created_at
|
||||||
|
* @property Carbon updated_at
|
||||||
|
*/
|
||||||
class Bid extends Model
|
class Bid extends Model
|
||||||
{
|
{
|
||||||
public $table = 'bids';
|
public $table = 'bids';
|
||||||
|
|||||||
@@ -201,10 +201,10 @@ class User extends Authenticatable
|
|||||||
/**
|
/**
|
||||||
* These are the flights they've bid on
|
* These are the flights they've bid on
|
||||||
*/
|
*/
|
||||||
public function flights()
|
// public function flights()
|
||||||
{
|
// {
|
||||||
return $this->belongsToMany(Flight::class, 'bids');
|
// return $this->belongsToMany(Flight::class, 'bids');
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The bid rows
|
* The bid rows
|
||||||
|
|||||||
@@ -73,12 +73,12 @@ class BidTest extends TestCase
|
|||||||
|
|
||||||
// Query the API and see that the user has the bids
|
// Query the API and see that the user has the bids
|
||||||
// And pull the flight details for the user/bids
|
// And pull the flight details for the user/bids
|
||||||
$req = $this->get('/api/user', $headers);
|
$req = $this->get('/api/user/bids', $headers);
|
||||||
$req->assertStatus(200);
|
$req->assertStatus(200);
|
||||||
|
|
||||||
$body = $req->json()['data'];
|
$body = $req->json()['data'];
|
||||||
$this->assertCount(1, $body['bids']);
|
$req->assertStatus(200);
|
||||||
$this->assertEquals($flight->id, $body['bids'][0]['flight_id']);
|
$this->assertEquals($flight->id, $body[0]['flight_id']);
|
||||||
|
|
||||||
$req = $this->get('/api/users/'.$user->id.'/bids', $headers);
|
$req = $this->get('/api/users/'.$user->id.'/bids', $headers);
|
||||||
|
|
||||||
@@ -109,17 +109,15 @@ class BidTest extends TestCase
|
|||||||
$bids = $user->bids()->get();
|
$bids = $user->bids()->get();
|
||||||
$this->assertTrue($bids->isEmpty());
|
$this->assertTrue($bids->isEmpty());
|
||||||
|
|
||||||
$req = $this->get('/api/user', $headers);
|
$req = $this->get('/api/user/bids', $headers);
|
||||||
$req->assertStatus(200);
|
$req->assertStatus(200);
|
||||||
|
|
||||||
$body = $req->json()['data'];
|
$body = $req->json()['data'];
|
||||||
$this->assertEquals($user->id, $body['id']);
|
$this->assertCount(0, $body);
|
||||||
$this->assertCount(0, $body['bids']);
|
|
||||||
|
|
||||||
$req = $this->get('/api/users/'.$user->id.'/bids', $headers);
|
$req = $this->get('/api/users/'.$user->id.'/bids', $headers);
|
||||||
$req->assertStatus(200);
|
$req->assertStatus(200);
|
||||||
$body = $req->json()['data'];
|
$body = $req->json()['data'];
|
||||||
|
|
||||||
$this->assertCount(0, $body);
|
$this->assertCount(0, $body);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,12 +194,11 @@ class BidTest extends TestCase
|
|||||||
|
|
||||||
// Query the API and see that the user has the bids
|
// Query the API and see that the user has the bids
|
||||||
// And pull the flight details for the user/bids
|
// And pull the flight details for the user/bids
|
||||||
$req = $this->get('/api/user', $headers);
|
$req = $this->get('/api/user/bids', $headers);
|
||||||
$req->assertStatus(200);
|
$req->assertStatus(200);
|
||||||
|
|
||||||
$body = $req->json()['data'];
|
$body = $req->json()['data'];
|
||||||
$this->assertEquals($user->id, $body['id']);
|
$this->assertCount(0, $body);
|
||||||
$this->assertCount(0, $body['bids']);
|
|
||||||
|
|
||||||
$req = $this->get('/api/users/'.$user->id.'/bids', $headers);
|
$req = $this->get('/api/users/'.$user->id.'/bids', $headers);
|
||||||
$req->assertStatus(200);
|
$req->assertStatus(200);
|
||||||
|
|||||||
@@ -84,8 +84,8 @@ class PIREPTest extends TestCase
|
|||||||
/**
|
/**
|
||||||
* Now set the PIREP state to ACCEPTED
|
* Now set the PIREP state to ACCEPTED
|
||||||
*/
|
*/
|
||||||
$new_pirep_count = $pirep->pilot->flights + 1;
|
$new_pirep_count = $pirep->user->flights + 1;
|
||||||
$new_flight_time = $pirep->pilot->flight_time + $pirep->flight_time;
|
$new_flight_time = $pirep->user->flight_time + $pirep->flight_time;
|
||||||
|
|
||||||
$this->pirepSvc->changeState($pirep, PirepState::ACCEPTED);
|
$this->pirepSvc->changeState($pirep, PirepState::ACCEPTED);
|
||||||
$this->assertEquals($new_pirep_count, $pirep->pilot->flights);
|
$this->assertEquals($new_pirep_count, $pirep->pilot->flights);
|
||||||
|
|||||||
Reference in New Issue
Block a user