mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-31 05:31:10 -04:00 
			
		
		
		
	v6 update
This commit is contained in:
		| @ -0,0 +1,56 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Crater\Http\Controllers\V1\Customer\Auth; | ||||
|  | ||||
| use Crater\Http\Controllers\Controller; | ||||
| use Illuminate\Foundation\Auth\SendsPasswordResetEmails; | ||||
| use Illuminate\Http\Request; | ||||
| use Password; | ||||
|  | ||||
| class ForgotPasswordController extends Controller | ||||
| { | ||||
|     /* | ||||
|     |-------------------------------------------------------------------------- | ||||
|     | Password Reset Controller | ||||
|     |-------------------------------------------------------------------------- | ||||
|     | | ||||
|     | This controller is responsible for handling password reset emails and | ||||
|     | includes a trait which assists in sending these notifications from | ||||
|     | your application to your users. Feel free to explore this trait. | ||||
|     | | ||||
|     */ | ||||
|  | ||||
|     use SendsPasswordResetEmails; | ||||
|  | ||||
|     public function broker() | ||||
|     { | ||||
|         return Password::broker('customers'); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get the response for a successful password reset link. | ||||
|      * | ||||
|      * @param  \Illuminate\Http\Request  $request | ||||
|      * @param  string  $response | ||||
|      * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse | ||||
|      */ | ||||
|     protected function sendResetLinkResponse(Request $request, $response) | ||||
|     { | ||||
|         return response()->json([ | ||||
|             'message' => 'Password reset email sent.', | ||||
|             'data' => $response, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get the response for a failed password reset link. | ||||
|      * | ||||
|      * @param  \Illuminate\Http\Request  $request | ||||
|      * @param  string  $response | ||||
|      * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse | ||||
|      */ | ||||
|     protected function sendResetLinkFailedResponse(Request $request, $response) | ||||
|     { | ||||
|         return response('Email could not be sent to this email address.', 403); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										45
									
								
								app/Http/Controllers/V1/Customer/Auth/LoginController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								app/Http/Controllers/V1/Customer/Auth/LoginController.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Crater\Http\Controllers\V1\Customer\Auth; | ||||
|  | ||||
| use Crater\Http\Controllers\Controller; | ||||
| use Crater\Http\Requests\Customer\CustomerLoginRequest; | ||||
| use Crater\Models\Company; | ||||
| use Crater\Models\Customer; | ||||
| use Hash; | ||||
| use Illuminate\Support\Facades\Auth; | ||||
| use Illuminate\Validation\ValidationException; | ||||
|  | ||||
| class LoginController extends Controller | ||||
| { | ||||
|     /** | ||||
|      * Handle the incoming request. | ||||
|      * | ||||
|      * @param  \Crater\Http\Requests\Customer\CustomerLoginRequest  $request | ||||
|      * @return \Illuminate\Http\Response | ||||
|      */ | ||||
|     public function __invoke(CustomerLoginRequest $request, Company $company) | ||||
|     { | ||||
|         $user = Customer::where('email', $request->email) | ||||
|             ->where('company_id', $company->id) | ||||
|             ->first(); | ||||
|  | ||||
|         if (! $user || ! Hash::check($request->password, $user->password)) { | ||||
|             throw ValidationException::withMessages([ | ||||
|                 'email' => ['The provided credentials are incorrect.'], | ||||
|             ]); | ||||
|         } | ||||
|  | ||||
|         if (! $user->enable_portal) { | ||||
|             throw ValidationException::withMessages([ | ||||
|                 'email' => ['Customer portal not available for this user.'], | ||||
|             ]); | ||||
|         } | ||||
|  | ||||
|         Auth::guard('customer')->login($user); | ||||
|  | ||||
|         return response()->json([ | ||||
|             'success' => true | ||||
|         ]); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,83 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Crater\Http\Controllers\V1\Customer\Auth; | ||||
|  | ||||
| use Crater\Http\Controllers\Controller; | ||||
| use Crater\Providers\RouteServiceProvider; | ||||
| use Illuminate\Auth\Events\PasswordReset; | ||||
| use Illuminate\Foundation\Auth\ResetsPasswords; | ||||
| use Illuminate\Http\Request; | ||||
| use Illuminate\Support\Str; | ||||
| use Password; | ||||
|  | ||||
| class ResetPasswordController extends Controller | ||||
| { | ||||
|     /* | ||||
|     |-------------------------------------------------------------------------- | ||||
|     | Password Reset Controller | ||||
|     |-------------------------------------------------------------------------- | ||||
|     | | ||||
|     | This controller is responsible for handling password reset requests | ||||
|     | and uses a simple trait to include this behavior. You're free to | ||||
|     | explore this trait and override any methods you wish to tweak. | ||||
|     | | ||||
|     */ | ||||
|  | ||||
|     use ResetsPasswords; | ||||
|  | ||||
|     /** | ||||
|      * Where to redirect users after resetting their password. | ||||
|      * | ||||
|      * @var string | ||||
|      */ | ||||
|     protected $redirectTo = RouteServiceProvider::CUSTOMER_HOME; | ||||
|  | ||||
|     public function broker() | ||||
|     { | ||||
|         return Password::broker('customers'); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get the response for a successful password reset. | ||||
|      * | ||||
|      * @param  \Illuminate\Http\Request  $request | ||||
|      * @param  string  $response | ||||
|      * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse | ||||
|      */ | ||||
|     protected function sendResetResponse(Request $request, $response) | ||||
|     { | ||||
|         return response()->json([ | ||||
|             'message' => 'Password reset successfully.', | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Reset the given user's password. | ||||
|      * | ||||
|      * @param  \Illuminate\Contracts\Auth\CanResetPassword  $user | ||||
|      * @param  string  $password | ||||
|      * @return void | ||||
|      */ | ||||
|     protected function resetPassword($user, $password) | ||||
|     { | ||||
|         $user->password = $password; | ||||
|  | ||||
|         $user->setRememberToken(Str::random(60)); | ||||
|  | ||||
|         $user->save(); | ||||
|  | ||||
|         event(new PasswordReset($user)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get the response for a failed password reset. | ||||
|      * | ||||
|      * @param  \Illuminate\Http\Request  $request | ||||
|      * @param  string  $response | ||||
|      * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse | ||||
|      */ | ||||
|     protected function sendResetFailedResponse(Request $request, $response) | ||||
|     { | ||||
|         return response('Failed, Invalid Token.', 403); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user