neoban/backend/app/Http/Controllers/Chats/ChatController.php
kushal-saha ad0f0bf67b feature(chat): implement sidebar, chat listing, and improved chat handling
- Added `Sidebar` component with responsive layout for chat navigation.
- Implemented `ChatStore` for managing chat data and fetching user chats.
- Integrated JSON:API `ChatCollection` for consistent backend responses.
- Added `GetUserChatsAction` to retrieve paginated user chats.
- Refactored frontend to separate `ChatStore` and `MessageStore` for improved state management.
- Updated styles, components, and tests for seamless chat interactions.
2026-04-30 13:06:47 +00:00

28 lines
865 B
PHP

<?php
namespace App\Http\Controllers\Chats;
use App\Actions\Chats\CreateChatAction;
use App\Actions\Chats\GetUserChatsAction;
use App\Http\Controllers\Controller;
use App\Http\Requests\Chats\CreateChatRequest;
use App\Http\Resources\Chats\ChatResponseResource;
use Illuminate\Http\Request;
use Illuminate\Routing\Attributes\Controllers\Middleware;
#[Middleware('auth:sanctum')]
class ChatController extends Controller
{
public function index(Request $request, GetUserChatsAction $getUserChatsAction)
{
return ChatResponseResource::collection($getUserChatsAction->chats($request->user()));
}
public function store(CreateChatRequest $request, CreateChatAction $createChatAction)
{
return new ChatResponseResource(
$createChatAction->create($request->user(), $request->input('title', 'New Chat'))
);
}
}