]> git.mxchange.org Git - friendica.git/commitdiff
Refactor GServer Repository
authorArt4 <art4@wlabs.de>
Fri, 7 Mar 2025 13:46:18 +0000 (13:46 +0000)
committerArt4 <art4@wlabs.de>
Fri, 7 Mar 2025 13:46:18 +0000 (13:46 +0000)
src/Federation/Repository/GServer.php

index 8e9c7e94494008924ccc80a33648d7f1248ed0bf..d9d777258270b484c42052afa11da9e81ebe1c97 100644 (file)
@@ -8,27 +8,40 @@
 namespace Friendica\Federation\Repository;
 
 use Friendica\Database\Database;
-use Friendica\Federation\Factory;
-use Friendica\Federation\Entity;
+use Friendica\Federation\Entity\GServer as GServerEntity;
+use Friendica\Federation\Factory\GServer as GServerFactory;
+use Friendica\Network\HTTPException\NotFoundException;
 use Psr\Log\LoggerInterface;
 
-class GServer extends \Friendica\BaseRepository
+final class GServer
 {
        protected static $table_name = 'gserver';
 
-       public function __construct(Database $database, LoggerInterface $logger, Factory\GServer $factory)
+       protected Database $db;
+
+       protected LoggerInterface $logger;
+
+       protected GServerFactory $factory;
+
+       public function __construct(Database $database, LoggerInterface $logger, GServerFactory $factory)
        {
-               parent::__construct($database, $logger, $factory);
+               $this->db      = $database;
+               $this->logger  = $logger;
+               $this->factory = $factory;
        }
 
        /**
         * @param int $gsid
-        * @return Entity\GServer
+        *
         * @throws \Friendica\Network\HTTPException\NotFoundException
         */
-       public function selectOneById(int $gsid): Entity\GServer
+       public function selectOneById(int $gsid): GServerEntity
        {
-               $fields = $this->_selectFirstRowAsArray( ['id' => $gsid]);
+               $fields = $this->db->selectFirst(static::$table_name, [], ['id' => $gsid], []);
+
+               if (!$this->db->isResult($fields)) {
+                       throw new NotFoundException();
+               }
 
                return $this->factory->createFromTableRow($fields);
        }