Skip to content

Commit 12f5ac6

Browse files
committed
feat: add wishlist routes and resource controller for authenticated users
1 parent 3bb12b7 commit 12f5ac6

2 files changed

Lines changed: 47 additions & 0 deletions

File tree

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
3+
namespace App\Http\Controllers;
4+
5+
use App\External_Apis\Apis\UserApi;
6+
use Illuminate\Http\Client\ConnectionException;
7+
use Illuminate\Support\Facades\Http;
8+
9+
class WishListController extends BaseController
10+
{
11+
/**
12+
* Display a listing of the resource.
13+
* @throws ConnectionException
14+
*/
15+
public function index()
16+
{
17+
$res = http::withToken(request()->bearerToken())->get(UserApi::getBaseUrl() . 'api/wishlist');
18+
19+
return $this->response($res->json('message'), $res->json('data'), $res->status());
20+
}
21+
22+
/**
23+
* Store a newly created resource in storage.
24+
* @throws ConnectionException
25+
*/
26+
public function store(int $id)
27+
{
28+
$res = http::withToken(request()->bearerToken())->post(UserApi::getBaseUrl() . "api/wishlist/$id");
29+
return $this->response($res->json('message'), status: $res->status());
30+
}
31+
32+
/**
33+
* Remove the specified resource from storage.
34+
* @throws ConnectionException
35+
*/
36+
public function destroy(string $id)
37+
{
38+
$res = http::withToken(request()->bearerToken())->delete(UserApi::getBaseUrl() . "api/wishlist/$id");
39+
return $this->response($res->json('message'), status: $res->status());
40+
}
41+
}

routes/api.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use App\Http\Controllers\ProductController;
88
use App\Http\Controllers\ShoppingCartController;
99
use App\Http\Controllers\UserController;
10+
use App\Http\Controllers\WishListController;
1011
use Illuminate\Support\Facades\Route;
1112

1213
// User Service
@@ -34,6 +35,11 @@
3435
Route::delete('/', [ShoppingCartController::class, 'clear']);
3536
});
3637

38+
Route::group(['prefix' => 'wishlist', 'middleware' => 'authenticate'], function () {
39+
Route::resource('/', WishListController::class)->except(['create','show', 'store','update', 'edit']);
40+
Route::post('/{id}', [WishListController::class, 'store']);
41+
});
42+
3743
//Product Service
3844
Route::resource('products', ProductController::class)->except(['update', 'create', 'edit'])->middleware('authenticate');
3945
Route::post('products/{product}', [ProductController::class, 'update'])->middleware('authenticate');

0 commit comments

Comments
 (0)