js-manager-new/src/app/Http/Controllers/UserController.php
2026-06-09 14:51:59 +03:00

55 lines
1.6 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Http\Controllers;
use App\Domain\User\Actions\DestroyAction;
use App\Domain\User\Actions\IndexAction;
use App\Domain\User\Actions\ShowAction;
use App\Domain\User\Actions\StoreAction;
use App\Domain\User\Actions\UpdateAction;
use App\Domain\User\Data\DestroyRequest;
use App\Domain\User\Data\IndexRequest;
use App\Domain\User\Data\ShowRequest;
use App\Domain\User\Data\StoreRequest;
use App\Domain\User\Data\UpdateRequest;
use Illuminate\Contracts\View\View;
use Illuminate\Http\JsonResponse;
class UserController extends Controller
{
public function index(IndexRequest $request, IndexAction $action): View
{
$data = $action->execute($request);
return view('pages.user.index', ['data' => $data]);
}
public function show(ShowRequest $request, ShowAction $action): View
{
$data = $action->execute($request);
return view('pages.user.show', ['data' => $data]);
}
public function store(StoreRequest $request, StoreAction $action): JsonResponse
{
$action->execute($request);
return response()->json(['success' => true, 'message' => 'User created successfully']);
}
public function update(UpdateRequest $request, UpdateAction $action): JsonResponse
{
$action->execute($request);
return response()->json(['success' => true, 'message' => 'Profile updated successfully']);
}
public function destroy(DestroyRequest $request, DestroyAction $action): JsonResponse
{
$action->execute($request);
return response()->json(['success' => true, 'message' => 'User deleted successfully']);
}
}