From ebc75fefaee011b95b97bf54e2c7edd7f5ddbe4d Mon Sep 17 00:00:00 2001 From: Daniel Kesselberg Date: Wed, 2 Jul 2025 12:38:51 +0200 Subject: [PATCH] feat(federation): Port federation app to qb mapper Signed-off-by: Daniel Kesselberg --- apps/federation/lib/Db/TrustedServer.php | 63 +++++++++++++++++++ .../federation/lib/Db/TrustedServerMapper.php | 39 ++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 apps/federation/lib/Db/TrustedServer.php create mode 100644 apps/federation/lib/Db/TrustedServerMapper.php diff --git a/apps/federation/lib/Db/TrustedServer.php b/apps/federation/lib/Db/TrustedServer.php new file mode 100644 index 00000000000..9704da8de0c --- /dev/null +++ b/apps/federation/lib/Db/TrustedServer.php @@ -0,0 +1,63 @@ +addType('url', 'string'); + $this->addType('urlHash', 'string'); + $this->addType('token', 'string'); + $this->addType('sharedSecret', 'string'); + $this->addType('status', 'integer'); + $this->addType('syncToken', 'string'); + } + + #[\Override] + public function jsonSerialize(): array { + return [ + 'id' => $this->getId(), + 'url' => $this->getUrl(), + 'urlHash' => $this->getUrlHash(), + 'token' => $this->getToken(), + 'sharedSecret' => $this->getSharedSecret(), + 'status' => $this->getStatus(), + 'syncToken' => $this->getSyncToken(), + ]; + } +} diff --git a/apps/federation/lib/Db/TrustedServerMapper.php b/apps/federation/lib/Db/TrustedServerMapper.php new file mode 100644 index 00000000000..fbdbb584d04 --- /dev/null +++ b/apps/federation/lib/Db/TrustedServerMapper.php @@ -0,0 +1,39 @@ + + */ +class TrustedServerMapper extends QBMapper { + public const TABLE_NAME = 'trusted_servers'; + + public function __construct(IDBConnection $db) { + parent::__construct($db, self::TABLE_NAME); + } + + /** + * @throws DoesNotExistException + */ + public function findById(int $id): TrustedServer { + $qb = $this->db->getQueryBuilder(); + + $qb->select('*') + ->from($this->getTableName()) + ->where($qb->expr()->eq('id', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT))); + + return $this->findEntity($qb); + } +}