FortuneResource.php 762 B

1234567891011121314151617181920212223
  1. <?php
  2. namespace Benchmark\Resources;
  3. use Benchmark\Entities\FortuneEntity;
  4. use Benchmark\Entities\Message;
  5. use Benchmark\Repositories\FortuneRepository;
  6. use Hamlet\Http\Requests\Request;
  7. use Hamlet\Http\Responses\{Response, SimpleOKResponse};
  8. class FortuneResource extends DbResource
  9. {
  10. public function getResponse(Request $request): Response
  11. {
  12. $repository = new FortuneRepository;
  13. $messages = $this->database->withSession($repository->findAll());
  14. $messages[] = new Message(0, 'Additional fortune added at request time.');
  15. usort($messages, function (Message $a, Message $b): int {
  16. return $a->message() <=> $b->message();
  17. });
  18. return new SimpleOKResponse(new FortuneEntity($messages));
  19. }
  20. }