aboutsummaryrefslogtreecommitdiffstats
path: root/apps/oauth2/lib/Db/ClientMapper.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/oauth2/lib/Db/ClientMapper.php')
-rw-r--r--apps/oauth2/lib/Db/ClientMapper.php42
1 files changed, 22 insertions, 20 deletions
diff --git a/apps/oauth2/lib/Db/ClientMapper.php b/apps/oauth2/lib/Db/ClientMapper.php
index 9df07e2789f..bfd3d949d1c 100644
--- a/apps/oauth2/lib/Db/ClientMapper.php
+++ b/apps/oauth2/lib/Db/ClientMapper.php
@@ -1,4 +1,5 @@
<?php
+declare(strict_types=1);
/**
* @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
*
@@ -22,11 +23,12 @@
namespace OCA\OAuth2\Db;
use OCA\OAuth2\Exceptions\ClientNotFoundException;
-use OCP\AppFramework\Db\Mapper;
+use OCP\AppFramework\Db\IMapperException;
+use OCP\AppFramework\Db\QBMapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
-class ClientMapper extends Mapper {
+class ClientMapper extends QBMapper {
/**
* @param IDBConnection $db
@@ -40,50 +42,50 @@ class ClientMapper extends Mapper {
* @return Client
* @throws ClientNotFoundException
*/
- public function getByIdentifier($clientIdentifier) {
+ public function getByIdentifier(string $clientIdentifier): Client {
$qb = $this->db->getQueryBuilder();
$qb
->select('*')
->from($this->tableName)
->where($qb->expr()->eq('client_identifier', $qb->createNamedParameter($clientIdentifier)));
- $result = $qb->execute();
- $row = $result->fetch();
- $result->closeCursor();
- if($row === false) {
- throw new ClientNotFoundException();
+
+ try {
+ $client = $this->findEntity($qb);
+ } catch (IMapperException $e) {
+ throw new ClientNotFoundException('could not find client '.$clientIdentifier, 0, $e);
}
- return Client::fromRow($row);
+ return $client;
}
/**
- * @param string $uid internal uid of the client
+ * @param int $id internal id of the client
* @return Client
* @throws ClientNotFoundException
*/
- public function getByUid($uid) {
+ public function getByUid(int $id): Client {
$qb = $this->db->getQueryBuilder();
$qb
->select('*')
->from($this->tableName)
- ->where($qb->expr()->eq('id', $qb->createNamedParameter($uid, IQueryBuilder::PARAM_INT)));
- $result = $qb->execute();
- $row = $result->fetch();
- $result->closeCursor();
- if($row === false) {
- throw new ClientNotFoundException();
+ ->where($qb->expr()->eq('id', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT)));
+
+ try {
+ $client = $this->findEntity($qb);
+ } catch (IMapperException $e) {
+ throw new ClientNotFoundException('could not find client with id '.$id, 0, $e);
}
- return Client::fromRow($row);
+ return $client;
}
/**
* @return Client[]
*/
- public function getClients() {
+ public function getClients(): array {
$qb = $this->db->getQueryBuilder();
$qb
->select('*')
->from($this->tableName);
- return $this->findEntities($qb->getSQL());
+ return $this->findEntities($qb);
}
}