Files
online.tbbank.gov.tm-larave…/app/Modules/ApiAuth/Controllers/ApiAuthController.php
2024-09-02 23:29:48 +05:00

65 lines
1.6 KiB
PHP

<?php
namespace App\Modules\ApiAuth\Controllers;
use App\Http\Controllers\Controller;
use App\Models\User;
use App\Modules\ApiAuth\Requests\AuthLoginRequest;
use App\Modules\ApiAuth\Requests\AuthRegisterRequest;
use App\Modules\ApiAuth\Requests\AuthVerifyRequest;
use App\Repos\UserRepo;
use Illuminate\Http\JsonResponse;
class ApiAuthController extends Controller
{
/**
* (Auth) Register user
*/
public function register(AuthRegisterRequest $request): JsonResponse
{
UserRepo::registerUser($request);
sendSMSVerification($request->phone_number);
return response()->json([
'message' => sprintf('%s: %s', __('Verification code sent to'), $request->phone_number),
], 201);
}
/**
* (Auth) Login
*/
public function login(AuthLoginRequest $request): JsonResponse
{
sendSMSVerification($request->phone_number);
return response()->json([
'message' => sprintf('%s: %s', __('Verification code sent to'), $request->phone_number),
], 201);
}
/**
* (Auth) Verify the code
*/
public function verify(AuthVerifyRequest $request): JsonResponse
{
$user = User::where('phone_number', $request->phone_number)->firstOrFail();
return response()->json([
'message' => $user->createToken(bin2hex(random_bytes(20)))->plainTextToken,
]);
}
/**
* (Auth)* Delete user
*
* @authenticated
*/
public function delete(): JsonResponse
{
auth()->user()->delete();
return response()->json(['message' => 'user deleted successfully']);
}
}