Commit fa28bc6 1 parent 641ff80 commit fa28bc6 Copy full SHA for fa28bc6
File tree 5 files changed +88
-64
lines changed
5 files changed +88
-64
lines changed Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace CommunityWithLegends \Http \Controllers \Auth ;
4
+
5
+ use CommunityWithLegends \Http \Controllers \Controller ;
6
+ use CommunityWithLegends \Http \Requests \LoginRequest ;
7
+ use Illuminate \Http \JsonResponse ;
8
+ use Illuminate \Support \Facades \Auth ;
9
+ use Symfony \Component \HttpFoundation \Response as Status ;
10
+
11
+ class LoginController extends Controller
12
+ {
13
+ public function login (LoginRequest $ loginRequest ): JsonResponse
14
+ {
15
+ if (!Auth::attempt ($ loginRequest ->validated ())) {
16
+ return response ()->json ([
17
+ "message " => "The provided credentials do not match our records. " ,
18
+ ], Status::HTTP_FORBIDDEN );
19
+ }
20
+
21
+ $ user = Auth::user ();
22
+ $ user ->tokens ()->delete ();
23
+ $ token = $ user ->createToken ('api-token ' )->plainTextToken ;
24
+
25
+ return response ()->json ([
26
+ "message " => "success " ,
27
+ "token " => $ token
28
+ ], Status::HTTP_OK );
29
+ }
30
+ }
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace CommunityWithLegends \Http \Controllers \Auth ;
4
+
5
+ use CommunityWithLegends \Http \Controllers \Controller ;
6
+ use Illuminate \Http \JsonResponse ;
7
+ use Illuminate \Http \Request ;
8
+ use Symfony \Component \HttpFoundation \Response as Status ;
9
+
10
+ class LogoutController extends Controller
11
+ {
12
+ public function logout (Request $ request ): JsonResponse
13
+ {
14
+ $ request ->user ()->currentAccessToken ()->delete ();
15
+
16
+ return response ()->json ([
17
+ "message " => "Logged out "
18
+ ], Status::HTTP_OK );
19
+ }
20
+ }
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace CommunityWithLegends \Http \Controllers \Auth ;
4
+
5
+ use CommunityWithLegends \Http \Controllers \Controller ;
6
+ use CommunityWithLegends \Http \Requests \RegisterRequest ;
7
+ use CommunityWithLegends \Models \User ;
8
+ use Illuminate \Support \Facades \Hash ;
9
+ use Symfony \Component \HttpFoundation \Response as Status ;
10
+
11
+ class RegisterController extends Controller
12
+ {
13
+ public function register (RegisterRequest $ registerRequest )
14
+ {
15
+ $ validated = $ registerRequest ->validated ();
16
+ $ userExist = User::query ()->where ("email " , $ validated ["email " ])->exists ();
17
+
18
+ if ($ userExist ) {
19
+ return response ()->json ([
20
+ "message " => "User already exists. " ,
21
+ ])->setStatusCode (Status::HTTP_CONFLICT );
22
+ }
23
+
24
+ $ user = new User ($ validated );
25
+ $ user ->password = Hash::make ($ validated ["password " ]);
26
+ $ user ->save ();
27
+
28
+ return response ()->json ([
29
+ "message " => "success " ,
30
+ ])->setStatusCode (Status::HTTP_OK );
31
+ }
32
+ }
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 2
2
3
3
declare (strict_types=1 );
4
4
5
- use CommunityWithLegends \Http \Controllers \AuthController ;
5
+ use CommunityWithLegends \Http \Controllers \Auth \LoginController ;
6
+ use CommunityWithLegends \Http \Controllers \Auth \LogoutController ;
7
+ use CommunityWithLegends \Http \Controllers \Auth \RegisterController ;
6
8
use CommunityWithLegends \Models \User ;
7
9
use Illuminate \Http \Request ;
8
10
use Illuminate \Support \Facades \Hash ;
30
32
Route::middleware ("auth:sanctum " )->group (function (): void {
31
33
Route::get ("/user " , fn (Request $ request ) => $ request ->user ());
32
34
33
- Route::post ("/auth/logout " , [AuthController ::class, "logout " ]);
35
+ Route::post ("/auth/logout " , [LogoutController ::class, "logout " ]);
34
36
});
35
37
36
- Route::post ("/auth/login " , [AuthController ::class, "login " ])->name ("login " );
37
- Route::post ("/auth/register " , [AuthController ::class, "register " ]);
38
+ Route::post ("/auth/login " , [LoginController ::class, "login " ])->name ("login " );
39
+ Route::post ("/auth/register " , [RegisterController ::class, "register " ]);
You can’t perform that action at this time.
0 commit comments