Skip to content

Commit 7570f1b

Browse files
committed
integrate cart items api
1 parent 0870bbe commit 7570f1b

File tree

11 files changed

+786
-12
lines changed

11 files changed

+786
-12
lines changed

app/Exceptions/Handler.php

+20
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
namespace App\Exceptions;
44

55
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
6+
use Illuminate\Auth\AuthenticationException;
67
use Throwable;
8+
use Illuminate\Support\Arr;
79

810
class Handler extends ExceptionHandler
911
{
@@ -47,4 +49,22 @@ public function register()
4749
//
4850
});
4951
}
52+
53+
protected function unauthenticated($request, AuthenticationException $exception)
54+
{
55+
if ($request->expectsJson()) {
56+
return response()->json(['message' => 'UnAuthenticated'], 401);
57+
}
58+
59+
$guard = Arr::get($exception->guards(), '0');
60+
switch ($guard) {
61+
case 'admin':
62+
$login = "/admin/login";
63+
break;
64+
65+
default:
66+
$login = "/seller/login";
67+
}
68+
return Redirect()->guest($login);
69+
}
5070
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Admin\Auth;
4+
5+
use App\Http\Controllers\Controller;
6+
use Illuminate\Http\Request;
7+
8+
class AdminLoginController extends Controller
9+
{
10+
/**
11+
* Display a listing of the resource.
12+
*
13+
* @return \Illuminate\Http\Response
14+
*/
15+
public function index()
16+
{
17+
//
18+
}
19+
20+
/**
21+
* Store a newly created resource in storage.
22+
*
23+
* @param \Illuminate\Http\Request $request
24+
* @return \Illuminate\Http\Response
25+
*/
26+
public function store(Request $request)
27+
{
28+
//
29+
}
30+
31+
/**
32+
* Display the specified resource.
33+
*
34+
* @param int $id
35+
* @return \Illuminate\Http\Response
36+
*/
37+
public function show($id)
38+
{
39+
//
40+
}
41+
42+
/**
43+
* Update the specified resource in storage.
44+
*
45+
* @param \Illuminate\Http\Request $request
46+
* @param int $id
47+
* @return \Illuminate\Http\Response
48+
*/
49+
public function update(Request $request, $id)
50+
{
51+
//
52+
}
53+
54+
/**
55+
* Remove the specified resource from storage.
56+
*
57+
* @param int $id
58+
* @return \Illuminate\Http\Response
59+
*/
60+
public function destroy($id)
61+
{
62+
//
63+
}
64+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Api\User;
4+
5+
use App\Http\Controllers\Controller;
6+
use App\Models\ShoppingCart;
7+
use App\Models\Product;
8+
use Illuminate\Http\Request;
9+
use Illuminate\Support\Facades\Auth;
10+
use Illuminate\Support\Facades\Session;
11+
12+
class CartController extends Controller
13+
{
14+
15+
public function __construct()
16+
{
17+
$this->middleware('auth:api');
18+
}
19+
20+
public function translate($lang_code)
21+
{
22+
$front_lang = Session::put('front_lang', $lang_code);
23+
config(['app.locale' => $lang_code]);
24+
}
25+
26+
public function cart_items(Request $request)
27+
{
28+
29+
$this->translator($request->lang_code);
30+
31+
$user = Auth::guard('api')->user();
32+
33+
$items = ShoppingCart::where(['user_id' => $user->id, 'item_type' => 'add_to_cart'])->latest()->get();
34+
35+
$recomend_products = Product::select('id', 'slug', 'thumbnail_image', 'status', 'regular_price', 'offer_price')->where(['status' => 1])->latest()->take(9)->get();
36+
37+
return response()->json([
38+
'items' => $items,
39+
'recomend_products' => $recomend_products,
40+
]);
41+
}
42+
/**
43+
* Display a listing of the resource.
44+
*
45+
* @return \Illuminate\Http\Response
46+
*/
47+
public function index()
48+
{
49+
//
50+
}
51+
52+
/**
53+
* Store a newly created resource in storage.
54+
*
55+
* @param \Illuminate\Http\Request $request
56+
* @return \Illuminate\Http\Response
57+
*/
58+
public function store(Request $request)
59+
{
60+
//
61+
}
62+
63+
/**
64+
* Display the specified resource.
65+
*
66+
* @param int $id
67+
* @return \Illuminate\Http\Response
68+
*/
69+
public function show($id)
70+
{
71+
//
72+
}
73+
74+
/**
75+
* Update the specified resource in storage.
76+
*
77+
* @param \Illuminate\Http\Request $request
78+
* @param int $id
79+
* @return \Illuminate\Http\Response
80+
*/
81+
public function update(Request $request, $id)
82+
{
83+
//
84+
}
85+
86+
/**
87+
* Remove the specified resource from storage.
88+
*
89+
* @param int $id
90+
* @return \Illuminate\Http\Response
91+
*/
92+
public function destroy($id)
93+
{
94+
//
95+
}
96+
}

app/Http/Middleware/Authenticate.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class Authenticate extends Middleware
1515
protected function redirectTo($request)
1616
{
1717
if (! $request->expectsJson()) {
18-
return route('login');
18+
return route('admin.login');
1919
}
2020
}
2121
}

composer.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
"guzzlehttp/guzzle": "^7.2",
1010
"laravel/framework": "^9.19",
1111
"laravel/sanctum": "^3.0",
12-
"laravel/tinker": "^2.7"
12+
"laravel/tinker": "^2.7",
13+
"tymon/jwt-auth": "^2.1"
1314
},
1415
"require-dev": {
1516
"fakerphp/faker": "^1.9.1",

0 commit comments

Comments
 (0)