Skip to content

Commit d0e60f5

Browse files
Merge pull request #17 from mariolucasdev/hotfix/gpm-4-adding-field-brand-name
gpm-4: adding fild brand name in appliance results api
2 parents 63657c0 + d961074 commit d0e60f5

File tree

2 files changed

+29
-7
lines changed

2 files changed

+29
-7
lines changed

app/Http/Controllers/ApplianceController.php

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use App\Http\Requests\StoreApplianceRequest;
66
use App\Models\Appliance;
77
use Illuminate\Http\JsonResponse;
8+
use Illuminate\Support\Facades\DB;
89

910
class ApplianceController extends Controller
1011
{
@@ -15,9 +16,12 @@ class ApplianceController extends Controller
1516
*/
1617
public function index(): JsonResponse
1718
{
18-
$appliance = Appliance::all();
19+
$appliances = DB::table('appliances')
20+
->join('brands', 'appliances.brand_id', '=', 'brands.id')
21+
->select('appliances.*', 'brands.name as brand')
22+
->get();
1923

20-
return response()->json($appliance, 200);
24+
return response()->json($appliances, 200);
2125
}
2226

2327
/**
@@ -30,7 +34,13 @@ public function store(StoreApplianceRequest $request): JsonResponse
3034
{
3135
$appliance = Appliance::create($request->all());
3236

33-
return response()->json($appliance, 201);
37+
$appliance = DB::table('appliances')
38+
->join('brands', 'appliances.brand_id', '=', 'brands.id')
39+
->select('appliances.*', 'brands.name as brand')
40+
->where('appliances.id', '=', $appliance->id)
41+
->get();
42+
43+
return response()->json($appliance->first(), 201);
3444
}
3545

3646
/**
@@ -41,9 +51,15 @@ public function store(StoreApplianceRequest $request): JsonResponse
4151
*/
4252
public function show(string $id): JsonResponse
4353
{
44-
$appliance = Appliance::findOrFail($id);
54+
$appliance = DB::table('appliances')
55+
->join('brands', 'appliances.brand_id', '=', 'brands.id')
56+
->select('appliances.*', 'brands.name as brand')
57+
->where('appliances.id', '=', $id)
58+
->get();
4559

46-
return response()->json($appliance, 200);
60+
return ($appliance->all()) ?
61+
response()->json($appliance->first(), 200) :
62+
response()->json([], 404);
4763
}
4864

4965
/**
@@ -58,7 +74,13 @@ public function update(StoreApplianceRequest $request, string $id): JsonResponse
5874
$appliance = Appliance::findOrFail($id);
5975
$appliance->update($request->all());
6076

61-
return response()->json($appliance, 200);
77+
$appliance = DB::table('appliances')
78+
->join('brands', 'appliances.brand_id', '=', 'brands.id')
79+
->select('appliances.*', 'brands.name as brand')
80+
->where('appliances.id', '=', $id)
81+
->get();
82+
83+
return response()->json($appliance->first(), 200);
6284
}
6385

6486
/**

tests/Feature/ApplianceTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public function test_show_appliance_expect_status_code_200_and_correctly_json_st
4646
{
4747
$appliance = Appliance::latest()->first();
4848

49-
$response = $this->get('api/appliance/' . $appliance->id);
49+
$response = $this->json('GET', 'api/appliance/' . $appliance->id);
5050

5151
$response->assertStatus(200);
5252

0 commit comments

Comments
 (0)