From 29ad7dcd0b5f68fa7dd6ccdbad960ac36208dd81 Mon Sep 17 00:00:00 2001 From: koykoy027 Date: Sat, 16 Mar 2024 16:08:21 +0800 Subject: [PATCH] UserController, UserResource fixed --- .../Api/Auth/AuthenticationController.php | 14 ++++++++++++- app/Http/Controllers/Api/UserController.php | 18 +++++------------ app/Http/Resources/UserResource.php | 4 ---- app/Models/User.php | 20 ------------------- routes/api.php | 3 ++- 5 files changed, 20 insertions(+), 39 deletions(-) diff --git a/app/Http/Controllers/Api/Auth/AuthenticationController.php b/app/Http/Controllers/Api/Auth/AuthenticationController.php index 2bb4b9f..8ef1d94 100644 --- a/app/Http/Controllers/Api/Auth/AuthenticationController.php +++ b/app/Http/Controllers/Api/Auth/AuthenticationController.php @@ -39,8 +39,20 @@ public function login(LoginRequest $request) public function register(RegisterRequest $request) { + $user = User::create([ + 'created_by' => Auth::user()->id, + 'updated_by' => Auth::user()->id, + 'email' => $request->email, + 'password' => Hash::make($request->password), + ]); - $user = User::registerUser($request); + UserProfile::create([ + 'id' => $user->id, + 'firstname' => $request->firstname, + 'middlename' => $request->middlename, + 'lastname' => $request->lastname, + 'gender' => $request->gender, + ]); return $this->success([ 'user' => $user, diff --git a/app/Http/Controllers/Api/UserController.php b/app/Http/Controllers/Api/UserController.php index 254740c..7d43251 100644 --- a/app/Http/Controllers/Api/UserController.php +++ b/app/Http/Controllers/Api/UserController.php @@ -5,26 +5,18 @@ use App\Http\Controllers\Controller; use App\Http\Resources\UserResource; use App\Models\User; -use Illuminate\Http\Request; class UserController extends Controller { public function index() { - return [ - User::activeUsers() - ->with('students') - ->get(), - ]; + return UserResource::collection( + User::activeUsers()->get() + ); } - public function show($id) + public function show(User $user) { - - return [ - User::activeUsers() - ->orWhere('id', $id) - ->first(), - ]; + return new UserResource($user); } } diff --git a/app/Http/Resources/UserResource.php b/app/Http/Resources/UserResource.php index 334895c..24c5169 100644 --- a/app/Http/Resources/UserResource.php +++ b/app/Http/Resources/UserResource.php @@ -21,10 +21,6 @@ public function toArray(Request $request): array 'middlename' => $this->user_profile->middlename, 'lastname' => $this->user_profile->lastname, ], - 'created' => [ - StudentResource::collection($this->students), - // 'id' => $this->students, - ] ]; } } diff --git a/app/Models/User.php b/app/Models/User.php index 34bae74..1de9a1a 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -35,29 +35,9 @@ class User extends Authenticatable public static function activeUsers() { $users = self::where('is_active', self::ACTIVE); - return $users; } - public static function registerUser(RegisterRequest $request) - { - $user = self::create([ - 'created_by' => Auth::user()->id, - 'updated_by' => Auth::user()->id, - 'email' => $request->email, - 'password' => Hash::make($request->password), - ]); - - UserProfile::create([ - 'id' => $user->id, - 'firstname' => $request->firstname, - 'middlename' => $request->middlename, - 'lastname' => $request->lastname, - 'gender' => $request->gender, - ]); - return $user; - } - public function user_profile() { return $this->hasOne(UserProfile::class, 'id'); diff --git a/routes/api.php b/routes/api.php index 10a28c9..13a9e8f 100644 --- a/routes/api.php +++ b/routes/api.php @@ -11,6 +11,7 @@ return $request->user(); }); +// token required Route::middleware(['auth:sanctum'])->group(function () { Route::controller(StudentController::class)->group(function () { Route::get('/students', 'index'); @@ -20,7 +21,7 @@ Route::controller(UserController::class)->group(function () { Route::get('/users', 'index'); - Route::get('/users/{id}', 'show'); + Route::get('/users/{user}', 'show'); }); });