UserController.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace App\Http\Controllers\App;
  3. use Illuminate\Routing\Controller as BaseController;
  4. use Illuminate\Http\Request;
  5. use Hash;
  6. use Session;
  7. use Illuminate\Support\Facades\Auth;
  8. use Illuminate\Support\Facades\Redirect;
  9. use App\Models\User;
  10. use App\Models\UserData;
  11. use App\Models\UserDocuments;
  12. use Illuminate\Support\Facades\Validator;
  13. class UserController extends BaseController
  14. {
  15. public function loginForm(Request $request){
  16. }
  17. public function signup(Request $request){
  18. $validate = Validator::make($request->all(), [
  19. 'email' => 'required|email',
  20. 'first_name' => 'required',
  21. 'last_name' => 'required',
  22. 'phone_number' => 'required',
  23. 'user_type' => 'required',
  24. 'gender' => 'required',
  25. ]);
  26. if($validate->fails()){
  27. return response()->json([
  28. 'status' => false,
  29. 'message' => 'Validation errors in your request',
  30. 'errors' => $validate->errors()
  31. ], 400);
  32. }
  33. $postData = $request->all();
  34. $userPhone = User::with(['UserData'])->whereRelation('user_data', 'phone_number', '=', $postData['phone_number'])->first();
  35. if($userPhone){
  36. return response()->json([
  37. 'status' => false,
  38. 'message' => 'Validation errors in your request',
  39. 'errors' => 'Phone number already exist'
  40. ], 400);
  41. }
  42. $userEmail = User::with(['UserData'])->where('email', '=', $postData['email'])->first();
  43. if($userEmail){
  44. return response()->json([
  45. 'status' => false,
  46. 'message' => 'Validation errors in your request',
  47. 'errors' => 'Email already exist'
  48. ], 400);
  49. }
  50. $user = [
  51. 'name' => $postData['first_name'] .' ' . $postData['last_name'],
  52. 'email' => $postData['email'],
  53. 'user_type' => 'Subscribers',
  54. 'password' => '123456'
  55. ];
  56. $user = User::create($user);
  57. $userData = [
  58. 'user_id' => $user['id'],
  59. 'first_name' => $postData['first_name'],
  60. 'last_name' => $postData['last_name'],
  61. 'phone_number' => $postData['phone_number'],
  62. 'wallet_amount' => $postData['wallet_amount']
  63. ];
  64. $userData = UserData::create($userData);
  65. }
  66. /**
  67. * Customer login
  68. */
  69. public function login(Request $request){
  70. try {
  71. $response =[];
  72. $validate = Validator::make($request->all(), [
  73. 'email' => 'required|email',
  74. 'password' => 'required'
  75. ]);
  76. if($validate->fails()){
  77. return response()->json([
  78. 'status' => false,
  79. 'message' => 'Validation errors in your request',
  80. 'errors' => $validate->errors()
  81. ], 400);
  82. }
  83. $credentials = $request->only('email', 'password');
  84. if (!Auth::attempt($credentials)) {
  85. return response()->json([
  86. 'status' => false,
  87. 'message' => 'Email & Password does not match.',
  88. ], 401);
  89. }else{
  90. $user = User::where('email', $request->email)->first();
  91. //print_r($user); exit;
  92. return response()->json([
  93. 'status' => true,
  94. 'message' => 'User Logged In Successfully',
  95. 'token' => $user->createToken("Gozap API Token")->plainTextToken
  96. ], 200);
  97. }
  98. } catch (\Throwable $e) {
  99. return response()->json([
  100. 'status' => false,
  101. 'message' => $e->getMessage()
  102. ], 500);
  103. }
  104. }
  105. public function customer_kyc(){
  106. }
  107. }