validate([ // 'name' => 'required|string', // 'email' => 'required|email|unique:users,email', // 'password' => 'required|string' // ], [ // 'name.required' => 'Nama harus diisi', // 'name.string' => 'Nama harus berupa string', // 'email.required' => 'Email harus diisi', // 'email.email' => 'Email harus valid', // 'email.unique' => 'Email sudah terdaftar', // 'password.required' => 'Password harus diisi', // 'password.string' => 'Password harus berupa string' // ]); // $validated['password'] = bcrypt($request->password); // $user = User::create($validated); // // $token = $user->createToken('authToken')->token; // return response()->json([ // 'success' => true, // 'message' => 'Register success', // 'data' => $user, // // 'token' => $token // ]); // } public function login(Request $request) { $validated = $request->validate([ 'email' => 'required|email', 'password' => 'required|string' ], [ 'email.required' => 'Email harus diisi', 'email.email' => 'Email harus valid', 'password.required' => 'Password harus diisi', 'password.string' => 'Password harus berupa string' ]); if (!Auth::attempt($validated)) { return response()->json([ 'success' => false, 'message' => 'Unauthorized' ]); } $token = Auth::user()->createToken('authToken')->plainTextToken; return response()->json([ 'success' => true, 'message' => 'Login success', 'data' => Auth::user(), 'token' => $token ]); } public function updatephoto(Request $request){ $request->validate([ 'image' => 'required' ], [ 'image.required' => 'Image is required', 'image.image' => 'File must be an image', 'image.mimes' => 'File must be jpeg, png, or jpg', 'image.max' => 'File maximum 2MB' ]); $image = $request->file('image'); $image_name = time() . '.' . $image->getClientOriginalExtension(); $image_path = public_path('images/user/') . $image_name; $image->move(public_path('images/user/'), $image_name); $user = $request->user(); $user->image = $image_name; $user->save(); return response()->json([ 'message' => 'Image updated successfully' ], 200); } public function updateprofil(Request $request) { if ($request->password) { $request->validate([ 'name' => 'required', 'email' => 'required|email|unique:users,email,' . $request->user()->id, 'password' => 'required', 'repassword' => 'required|same:password' ], [ 'email.unique' => 'Email already exists', 'name.required' => 'Name is required', 'email.required' => 'Email is required', 'password.required' => 'Password is required', 'repassword.required' => 'Re-Password is required' ]); } else { $request->validate([ 'name' => 'required', 'email' => 'required|email|unique:users,email,' . $request->user()->id, ], [ 'email.unique' => 'Email already exists', 'name.required' => 'Name is required', 'email.required' => 'Email is required', ]); } // if($request->image){ // $image = $request->file('image'); // $image_name = time() . '.' . $image->getClientOriginalExtension(); // $image_path = public_path('images/user/') . $image_name; // $image->move(public_path('images/user/'), $image_name); // } $user = $request->user(); $user->name = $request->name; $user->email = $request->email; if ($request->password) { $user->password = bcrypt($request->password); } // if($request->image){ // $user->image = $image_name; // } $user->save(); return response()->json([ 'message' => 'Profile updated successfully' ], 200); } public function getuserlogin(Request $request) { $url_img_user = url('images/user/'); $user = $request->user(); $user->image = $url_img_user . '/' . $user->image; return response()->json([ 'user' => $user ], 200); } public function logout() { Auth::user()->tokens()->delete(); return response()->json([ 'success' => true, 'message' => 'Logout success' ]); } }