DbResource.php 680 B

1234567891011121314151617181920212223
  1. <?php
  2. namespace Benchmark\Resources;
  3. use Benchmark\Repositories\WorldRepository;
  4. use Hamlet\Database\{Database};
  5. use Hamlet\Http\Entities\JsonEntity;
  6. use Hamlet\Http\Requests\Request;
  7. use Hamlet\Http\Resources\HttpResource;
  8. use Hamlet\Http\Responses\{Response, SimpleOKResponse};
  9. class DbResource implements HttpResource
  10. {
  11. public function __construct(protected Database $database) {}
  12. public function getResponse(Request $request): Response
  13. {
  14. $repository = new WorldRepository;
  15. $id = mt_rand(1, 10000);
  16. $record = $this->database->withSession($repository->findById($id));
  17. return new SimpleOKResponse(new JsonEntity($record));
  18. }
  19. }