validate([ 'nama' => 'required', 'email' => 'required|email|unique:pengguna_pasiens,email', 'password' => 'required|min:6', 'umur' => 'required', 'tanggal_lahir' => 'required', 'nama_orang_tua' => 'required', 'jenis_kelamin' => 'required', 'alamat' => 'required', ]); $penggunaPasien = PenggunaPasien::create([ 'nama' => $request->nama, 'email' => $request->email, 'password' => Hash::make($request->password), 'umur' => $request->umur, 'tanggal_lahir' => $request->tanggal_lahir, 'nama_orang_tua' => $request->nama_orang_tua, 'jenis_kelamin' => $request->jenis_kelamin, 'alamat' => $request->alamat, ]); $token = $penggunaPasien->createToken('auth_token')->plainTextToken; return response()->json([ 'data' => new PenggunaPasienResource($penggunaPasien), 'access_token' => $token, 'token_type' => 'Bearer', ]); } // Login function public function login(Request $request) { $request->validate([ 'email' => 'required|email', 'password' => 'required', ]); $penggunaPasien = PenggunaPasien::where('email', $request->email)->first(); if (!$penggunaPasien || !Hash::check($request->password, $penggunaPasien->password)) { throw ValidationException::withMessages([ 'email' => ['Email atau password salah.'], ]); } $token = $penggunaPasien->createToken('auth_token')->plainTextToken; return response()->json([ 'message' => 'Login berhasil!', 'access_token' => $token, 'token_type' => 'Bearer', ]); } // Logout function public function logout(Request $request) { $request->user()->tokens()->delete(); return response()->json(['message' => 'Logout berhasil!']); } public function getUser(Request $request) { $user = Auth::user(); if (!$user) { return response()->json([ 'message' => 'Pengguna tidak ditemukan.' ], 404); } return response()->json([ 'id' => $user->id, 'nama' => $user->nama, 'email' => $user->email, ]); } }