diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php new file mode 100644 index 0000000..fda7e97 --- /dev/null +++ b/app/Http/Controllers/ProfileController.php @@ -0,0 +1,44 @@ +user(); + + return response()->rest([ + 'first_name' => $user->first_name, + 'last_name' => $user->last_name, + 'phone_number' => $user->phone_number, + 'address' => $user->options->get('address'), + ]); + } + + /** + * Store + */ + public function store(Request $request) + { + $request->validate([ + 'name' => ['required', 'string', 'max:255'], + 'phone_number' => ['required', 'int', 'between:61000000,71999999', Rule::unique('users', 'phone_number')->ignore(auth()->id())], + 'address' => ['required', 'string', 'max:255'], + ]); + + auth()->user()->update([ + 'first_name' => $request->name, + 'phone_number' => $request->phone_number, + ]); + + return response()->rest(); + } +} diff --git a/app/Modules/ApiAuth/Controllers/ApiAuthController.php b/app/Modules/ApiAuth/Controllers/ApiAuthController.php index 776f768..a293e3f 100644 --- a/app/Modules/ApiAuth/Controllers/ApiAuthController.php +++ b/app/Modules/ApiAuth/Controllers/ApiAuthController.php @@ -9,6 +9,8 @@ use App\Modules\ApiAuth\Requests\AuthRegisterRequest; use App\Modules\ApiAuth\Requests\AuthVerifyRequest; use App\Repos\UserRepo; use Illuminate\Http\JsonResponse; +use Illuminate\Support\Facades\Hash; +use Illuminate\Validation\ValidationException; class ApiAuthController extends Controller { @@ -31,6 +33,14 @@ class ApiAuthController extends Controller */ public function login(AuthLoginRequest $request): JsonResponse { + $user = User::where('phone', $request->phone)->first(); + + if (! $user || ! Hash::check($request->password, $user->password)) { + throw ValidationException::withMessages([ + 'email' => ['The provided credentials are incorrect.'], + ]); + } + sendSMSVerification($request->phone); return response()->json([ diff --git a/app/Modules/ApiAuth/Requests/AuthLoginRequest.php b/app/Modules/ApiAuth/Requests/AuthLoginRequest.php index db8b93f..cad969a 100644 --- a/app/Modules/ApiAuth/Requests/AuthLoginRequest.php +++ b/app/Modules/ApiAuth/Requests/AuthLoginRequest.php @@ -21,6 +21,13 @@ class AuthLoginRequest extends FormRequest * @example 65707012 */ 'phone' => ['required', 'integer', 'between:61000000,71999999'], + + /** + * User's password + * + * @example MahmytAllaberdiyevPassword + */ + 'password' => ['required', 'string', 'max:255'], ]; } } diff --git a/app/Modules/ApiAuth/Requests/AuthRegisterRequest.php b/app/Modules/ApiAuth/Requests/AuthRegisterRequest.php index 619c8fa..20a3f56 100644 --- a/app/Modules/ApiAuth/Requests/AuthRegisterRequest.php +++ b/app/Modules/ApiAuth/Requests/AuthRegisterRequest.php @@ -17,7 +17,6 @@ class AuthRegisterRequest extends FormRequest /** * Phone number to authenticate * - * @var int * @example 65707012 */ 'phone' => ['required', 'integer', 'between:61000000,71999999', 'unique:users,phone'], @@ -25,10 +24,16 @@ class AuthRegisterRequest extends FormRequest /** * User's name * - * @var string * @example Mahmyt Allaberdiyev */ 'name' => ['required', 'string', 'max:255'], + + /** + * User's password + * + * @example MahmytAllaberdiyevPassword + */ + 'password' => ['required', 'string', 'max:255'], ]; } } diff --git a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/Concerns/VisaMasterPaymentOrderFieldsForDetail.php b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/Concerns/VisaMasterPaymentOrderFieldsForDetail.php index 4dc8aa2..78f33c7 100644 --- a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/Concerns/VisaMasterPaymentOrderFieldsForDetail.php +++ b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/Concerns/VisaMasterPaymentOrderFieldsForDetail.php @@ -3,7 +3,6 @@ namespace App\Modules\VisaMasterPaymentOrder\Nova\Resources\Concerns; use App\Modules\VisaMasterPaymentOrder\Models\VisaMasterPaymentOrder; -use App\Modules\VisaMasterPaymentOrder\Nova\Resources\VisaMasterPaymentOrderFileFields; use App\Nova\Resources\Branch\Branch; use App\Repos\Order\OrderRepo; use App\Repos\System\Settings\Legal\PassportRepo; diff --git a/app/Repos/UserRepo.php b/app/Repos/UserRepo.php index 9e3ef99..b35b963 100644 --- a/app/Repos/UserRepo.php +++ b/app/Repos/UserRepo.php @@ -19,7 +19,7 @@ class UserRepo 'name' => $request->name, 'username' => static::generateUsername($request->name), 'locale' => app()->getLocale(), - 'password' => Str::random(6), + 'password' => $request->password, 'active' => true, ]); } diff --git a/routes/api.php b/routes/api.php index b56c031..f96b3e5 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,5 +1,6 @@ group(function () { // Profile... - // Route::get('profile', [ProfileController::class, 'index']); - // Route::post('profile', [ProfileController::class, 'store']); + Route::get('profile', [ProfileController::class, 'index']); + Route::post('profile', [ProfileController::class, 'store']); });