diff --git a/app/Domain/Room/Repositories/RoomRepository.php b/app/Domain/Room/Repositories/RoomRepository.php index ada93d7..5ba3fea 100644 --- a/app/Domain/Room/Repositories/RoomRepository.php +++ b/app/Domain/Room/Repositories/RoomRepository.php @@ -2,11 +2,16 @@ namespace App\Domain\Room\Repositories; +use App\Models\Room; + /** * Class RoomRepository * @package App\Domain\Room\Repositories */ class RoomRepository { - + public function all() + { + return Room::all(); + } } diff --git a/app/Http/Controllers/RoomController.php b/app/Http/Controllers/RoomController.php new file mode 100644 index 0000000..6ce8277 --- /dev/null +++ b/app/Http/Controllers/RoomController.php @@ -0,0 +1,43 @@ +roomRepository = $roomRepository; + } + + public function index(): JsonResponse + { + $rooms = $this->roomRepository->all(); + return response()->json( + $rooms->toArray() + ); + } + + public function store(RoomFactory $roomFactory): JsonResponse + { + $this->validate(request(), [ + 'name' => 'required|string|unique:rooms,name' + ]); + + $room = $roomFactory->create( + request()->post('name') + ); + + return response()->json( + $room->toArray() + ); + } + + +}