From cdd7a466d2519ef5654aeed8384210effc298bd8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 20 Nov 2024 13:23:17 +0000 Subject: [PATCH] Refactor to a repository --- .../opdavies_talks/opdavies_talks.services.yml | 4 ++++ .../src/Controller/TalksPageController.php | 6 +++++- .../src/Repository/TalkNodeRepository.php | 13 +++++++++++++ .../Repository/TalkNodeRepositoryTest.php | 18 ++++++++++++++++++ 4 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 web/modules/custom/opdavies_talks/opdavies_talks.services.yml create mode 100644 web/modules/custom/opdavies_talks/src/Repository/TalkNodeRepository.php create mode 100644 web/modules/custom/opdavies_talks/tests/src/Kernel/Repository/TalkNodeRepositoryTest.php diff --git a/web/modules/custom/opdavies_talks/opdavies_talks.services.yml b/web/modules/custom/opdavies_talks/opdavies_talks.services.yml new file mode 100644 index 0000000..1c19963 --- /dev/null +++ b/web/modules/custom/opdavies_talks/opdavies_talks.services.yml @@ -0,0 +1,4 @@ +services: + Drupal\opdavies_talks\Controller\TalksPageController: + autowire: true + Drupal\opdavies_talks\Repository\TalkNodeRepository: [] diff --git a/web/modules/custom/opdavies_talks/src/Controller/TalksPageController.php b/web/modules/custom/opdavies_talks/src/Controller/TalksPageController.php index c4e0ed8..97cc104 100644 --- a/web/modules/custom/opdavies_talks/src/Controller/TalksPageController.php +++ b/web/modules/custom/opdavies_talks/src/Controller/TalksPageController.php @@ -5,13 +5,17 @@ declare(strict_types=1); namespace Drupal\opdavies_talks\Controller; use Drupal\Core\StringTranslation\StringTranslationTrait; +use Drupal\opdavies_talks\Repository\TalkNodeRepository; final class TalksPageController { use StringTranslationTrait; + public function __construct(private TalkNodeRepository $talkRepository) { + } + public function __invoke(): array { - $talkCount = 2; + $talkCount = $this->talkRepository->getCount(); return ['#markup' => $this->t(':count talks', [':count' => $talkCount])]; } diff --git a/web/modules/custom/opdavies_talks/src/Repository/TalkNodeRepository.php b/web/modules/custom/opdavies_talks/src/Repository/TalkNodeRepository.php new file mode 100644 index 0000000..cde85f8 --- /dev/null +++ b/web/modules/custom/opdavies_talks/src/Repository/TalkNodeRepository.php @@ -0,0 +1,13 @@ +container->get(TalkNodeRepository::class); + + self::assertSame(2, $talkRepository->getCount()); + } + +}