My SMM panel
 
 
 
 
 
 

76 lines
1.8 KiB

  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\Models\User;
  5. use Illuminate\Support\Facades\Log;
  6. use Illuminate\Support\Facades\Hash;
  7. use Illuminate\Auth\Events\Registered;
  8. use Illuminate\Support\Facades\Password;
  9. class UserController extends Controller
  10. {
  11. public function create(Request $request) {
  12. $validated = $request->validate([
  13. 'name' => 'required',
  14. 'email' => 'required|email|unique:users',
  15. 'password' => 'required'
  16. /* 'password' => 'required|confirmed|min:8|regex:/[a-z]/|regex:/[A-Z]/|regex:/[0-9]/' */
  17. ]);
  18. $user = new User;
  19. $user->name = $request->name;
  20. $user->email = $request->email;
  21. $user->role = "client";
  22. $user->password = Hash::make($request->password);
  23. $user->save();
  24. event(new Registered($user));
  25. return response()->json([
  26. "status" => "success"
  27. ]);
  28. }
  29. public function forgotPassword(Request $request) {
  30. $request->validate(['email' => 'required|email']);
  31. $status = Password::sendResetLink(
  32. $request->only('email')
  33. );
  34. if ($status === Password::RESET_LINK_SENT) {
  35. return response()->json([
  36. "status" => "success"
  37. ])
  38. } else {
  39. return response()->json($errors->all())
  40. }
  41. }
  42. public function resetPassword(Request $request) {
  43. $request->validate([
  44. 'token' => 'required',
  45. 'email' => 'required|email',
  46. 'password' => 'required|min:8|confirmed',
  47. ]);
  48. $status = Password::reset(
  49. $request->only('email', 'password',
  50. 'password_confirmation', 'token'),
  51. function ($user, $password) use ($request) {
  52. $user->forceFill([
  53. 'password' => Hash::make($password)
  54. ])->setRememberToken(Str::random(60))
  55. });
  56. if ($status == Password::PASSWORD_RESET) {
  57. return response()->json([
  58. "status" => "success"
  59. ]);
  60. } else {
  61. return response()->json([__($status)]);
  62. }
  63. }
  64. }