Initial commit
This commit is contained in:
16
app/Http/Controllers/Api/V1/AccountController.php
Normal file
16
app/Http/Controllers/Api/V1/AccountController.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Controllers\Api\V1;
|
||||
|
||||
use App\Http\Resources\AccountResource;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class AccountController
|
||||
{
|
||||
public function __invoke(Request $request): AccountResource
|
||||
{
|
||||
return AccountResource::make($request->user());
|
||||
}
|
||||
}
|
33
app/Http/Controllers/Api/V1/LoginController.php
Normal file
33
app/Http/Controllers/Api/V1/LoginController.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Controllers\Api\V1;
|
||||
|
||||
use App\Http\Requests\Api\V1\LoginRequest;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
|
||||
class LoginController
|
||||
{
|
||||
public function __invoke(LoginRequest $request): JsonResponse
|
||||
{
|
||||
/** @var User $user */
|
||||
$user = User::query()->where('email', $request->validated('email'))->first();
|
||||
|
||||
if (is_null($user)) {
|
||||
return response()->json([
|
||||
'message' => 'Invalid credentials.',
|
||||
'code' => 'BAD_LOGIN',
|
||||
], 400);
|
||||
}
|
||||
|
||||
$token = $user->createToken($request->validated('device_name'))->plainTextToken;
|
||||
|
||||
return response()->json([
|
||||
'data' => [
|
||||
'token' => $token,
|
||||
],
|
||||
], 201);
|
||||
}
|
||||
}
|
26
app/Http/Controllers/Api/V1/SendMoneyController.php
Normal file
26
app/Http/Controllers/Api/V1/SendMoneyController.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Controllers\Api\V1;
|
||||
|
||||
use App\Actions\PerformWalletTransfer;
|
||||
use App\Http\Requests\Api\V1\SendMoneyRequest;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class SendMoneyController
|
||||
{
|
||||
public function __invoke(SendMoneyRequest $request, PerformWalletTransfer $performWalletTransfer): Response
|
||||
{
|
||||
$recipient = $request->getRecipient();
|
||||
|
||||
$performWalletTransfer->execute(
|
||||
sender: $request->user(),
|
||||
recipient: $recipient,
|
||||
amount: $request->input('amount'),
|
||||
reason: $request->input('reason'),
|
||||
);
|
||||
|
||||
return response()->noContent(201);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user