summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjld3103 <jld3103yt@gmail.com>2023-03-31 09:28:22 +0200
committerjld3103 <jld3103yt@gmail.com>2023-04-07 09:49:42 +0200
commitb153340b6292c0790666e0542677bcf47f2e9b59 (patch)
treeb13fb2b10cc38833a2a05ec44a410188a571c6a6
parent012624743917cf9388f2abd33760a50d83d497e9 (diff)
downloadnextcloud-server-b153340b6292c0790666e0542677bcf47f2e9b59.tar.gz
nextcloud-server-b153340b6292c0790666e0542677bcf47f2e9b59.zip
Add type hints for mappers
Signed-off-by: jld3103 <jld3103yt@gmail.com>
-rw-r--r--apps/dav/lib/CalDAV/Proxy/ProxyMapper.php2
-rw-r--r--apps/files/lib/Db/OpenLocalEditorMapper.php3
-rw-r--r--apps/files/lib/Db/TransferOwnershipMapper.php3
-rw-r--r--core/Db/LoginFlowV2Mapper.php3
-rw-r--r--core/Db/ProfileConfigMapper.php3
-rw-r--r--lib/composer/composer/autoload_classmap.php2
-rw-r--r--lib/composer/composer/autoload_static.php2
-rw-r--r--lib/private/KnownUser/KnownUserMapper.php2
-rw-r--r--lib/private/Metadata/FileMetadataMapper.php7
-rw-r--r--lib/private/Settings/AuthorizedGroupMapper.php3
-rw-r--r--lib/private/Tagging/TagMapper.php2
-rw-r--r--lib/private/Updater/Changes.php (renamed from lib/private/Updater/ChangesResult.php)4
-rw-r--r--lib/private/Updater/ChangesCheck.php6
-rw-r--r--lib/private/Updater/ChangesMapper.php7
-rw-r--r--lib/public/AppFramework/Db/QBMapper.php3
-rw-r--r--tests/lib/Updater/ChangesCheckTest.php12
16 files changed, 45 insertions, 19 deletions
diff --git a/apps/dav/lib/CalDAV/Proxy/ProxyMapper.php b/apps/dav/lib/CalDAV/Proxy/ProxyMapper.php
index 19c72ffa0e9..e48e283484c 100644
--- a/apps/dav/lib/CalDAV/Proxy/ProxyMapper.php
+++ b/apps/dav/lib/CalDAV/Proxy/ProxyMapper.php
@@ -34,6 +34,8 @@ use OCP\IDBConnection;
* Class ProxyMapper
*
* @package OCA\DAV\CalDAV\Proxy
+ *
+ * @template-extends QBMapper<Proxy>
*/
class ProxyMapper extends QBMapper {
public const PERMISSION_READ = 1;
diff --git a/apps/files/lib/Db/OpenLocalEditorMapper.php b/apps/files/lib/Db/OpenLocalEditorMapper.php
index 71573264c74..00988adc9cc 100644
--- a/apps/files/lib/Db/OpenLocalEditorMapper.php
+++ b/apps/files/lib/Db/OpenLocalEditorMapper.php
@@ -32,6 +32,9 @@ use OCP\AppFramework\Db\QBMapper;
use OCP\DB\Exception;
use OCP\IDBConnection;
+/**
+ * @template-extends QBMapper<OpenLocalEditor>
+ */
class OpenLocalEditorMapper extends QBMapper {
public function __construct(IDBConnection $db) {
parent::__construct($db, 'open_local_editor', OpenLocalEditor::class);
diff --git a/apps/files/lib/Db/TransferOwnershipMapper.php b/apps/files/lib/Db/TransferOwnershipMapper.php
index f55f9e733f9..e195a5182a0 100644
--- a/apps/files/lib/Db/TransferOwnershipMapper.php
+++ b/apps/files/lib/Db/TransferOwnershipMapper.php
@@ -29,6 +29,9 @@ namespace OCA\Files\Db;
use OCP\AppFramework\Db\QBMapper;
use OCP\IDBConnection;
+/**
+ * @template-extends QBMapper<TransferOwnership>
+ */
class TransferOwnershipMapper extends QBMapper {
public function __construct(IDBConnection $db) {
parent::__construct($db, 'user_transfer_owner', TransferOwnership::class);
diff --git a/core/Db/LoginFlowV2Mapper.php b/core/Db/LoginFlowV2Mapper.php
index 0e44418e010..feb1bd7b42d 100644
--- a/core/Db/LoginFlowV2Mapper.php
+++ b/core/Db/LoginFlowV2Mapper.php
@@ -30,6 +30,9 @@ use OCP\AppFramework\Db\QBMapper;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IDBConnection;
+/**
+ * @template-extends QBMapper<LoginFlowV2>
+ */
class LoginFlowV2Mapper extends QBMapper {
private const lifetime = 1200;
diff --git a/core/Db/ProfileConfigMapper.php b/core/Db/ProfileConfigMapper.php
index a8b1e35f747..8e337523977 100644
--- a/core/Db/ProfileConfigMapper.php
+++ b/core/Db/ProfileConfigMapper.php
@@ -29,6 +29,9 @@ namespace OC\Core\Db;
use OCP\AppFramework\Db\QBMapper;
use OCP\IDBConnection;
+/**
+ * @template-extends QBMapper<ProfileConfig>
+ */
class ProfileConfigMapper extends QBMapper {
public function __construct(IDBConnection $db) {
parent::__construct($db, 'profile_config', ProfileConfig::class);
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php
index 2b320c82424..a269b440df6 100644
--- a/lib/composer/composer/autoload_classmap.php
+++ b/lib/composer/composer/autoload_classmap.php
@@ -1614,9 +1614,9 @@ return array(
'OC\\Translation\\TranslationManager' => $baseDir . '/lib/private/Translation/TranslationManager.php',
'OC\\URLGenerator' => $baseDir . '/lib/private/URLGenerator.php',
'OC\\Updater' => $baseDir . '/lib/private/Updater.php',
+ 'OC\\Updater\\Changes' => $baseDir . '/lib/private/Updater/Changes.php',
'OC\\Updater\\ChangesCheck' => $baseDir . '/lib/private/Updater/ChangesCheck.php',
'OC\\Updater\\ChangesMapper' => $baseDir . '/lib/private/Updater/ChangesMapper.php',
- 'OC\\Updater\\ChangesResult' => $baseDir . '/lib/private/Updater/ChangesResult.php',
'OC\\Updater\\VersionCheck' => $baseDir . '/lib/private/Updater/VersionCheck.php',
'OC\\UserStatus\\ISettableProvider' => $baseDir . '/lib/private/UserStatus/ISettableProvider.php',
'OC\\UserStatus\\Manager' => $baseDir . '/lib/private/UserStatus/Manager.php',
diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php
index a920e67a772..bfc0f2c88ac 100644
--- a/lib/composer/composer/autoload_static.php
+++ b/lib/composer/composer/autoload_static.php
@@ -1647,9 +1647,9 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Translation\\TranslationManager' => __DIR__ . '/../../..' . '/lib/private/Translation/TranslationManager.php',
'OC\\URLGenerator' => __DIR__ . '/../../..' . '/lib/private/URLGenerator.php',
'OC\\Updater' => __DIR__ . '/../../..' . '/lib/private/Updater.php',
+ 'OC\\Updater\\Changes' => __DIR__ . '/../../..' . '/lib/private/Updater/Changes.php',
'OC\\Updater\\ChangesCheck' => __DIR__ . '/../../..' . '/lib/private/Updater/ChangesCheck.php',
'OC\\Updater\\ChangesMapper' => __DIR__ . '/../../..' . '/lib/private/Updater/ChangesMapper.php',
- 'OC\\Updater\\ChangesResult' => __DIR__ . '/../../..' . '/lib/private/Updater/ChangesResult.php',
'OC\\Updater\\VersionCheck' => __DIR__ . '/../../..' . '/lib/private/Updater/VersionCheck.php',
'OC\\UserStatus\\ISettableProvider' => __DIR__ . '/../../..' . '/lib/private/UserStatus/ISettableProvider.php',
'OC\\UserStatus\\Manager' => __DIR__ . '/../../..' . '/lib/private/UserStatus/Manager.php',
diff --git a/lib/private/KnownUser/KnownUserMapper.php b/lib/private/KnownUser/KnownUserMapper.php
index ce7dc9ead63..fd8f22cd0aa 100644
--- a/lib/private/KnownUser/KnownUserMapper.php
+++ b/lib/private/KnownUser/KnownUserMapper.php
@@ -30,6 +30,8 @@ use OCP\IDBConnection;
/**
* @method KnownUser mapRowToEntity(array $row)
+ *
+ * @template-extends QBMapper<KnownUser>
*/
class KnownUserMapper extends QBMapper {
/**
diff --git a/lib/private/Metadata/FileMetadataMapper.php b/lib/private/Metadata/FileMetadataMapper.php
index f3120e5e515..594ac5eafba 100644
--- a/lib/private/Metadata/FileMetadataMapper.php
+++ b/lib/private/Metadata/FileMetadataMapper.php
@@ -30,6 +30,9 @@ use OCP\DB\Exception;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
+/**
+ * @template-extends QBMapper<FileMetadata>
+ */
class FileMetadataMapper extends QBMapper {
public function __construct(IDBConnection $db) {
parent::__construct($db, 'file_metadata', FileMetadata::class);
@@ -109,11 +112,11 @@ class FileMetadataMapper extends QBMapper {
* Updates an entry in the db from an entity
*
* @param Entity $entity the entity that should be created
- * @return Entity the saved entity with the set id
+ * @return FileMetadata the saved entity with the set id
* @throws Exception
* @throws \InvalidArgumentException if entity has no id
*/
- public function update(Entity $entity): Entity {
+ public function update(Entity $entity): FileMetadata {
if (!($entity instanceof FileMetadata)) {
throw new \Exception("Entity should be a FileMetadata entity");
}
diff --git a/lib/private/Settings/AuthorizedGroupMapper.php b/lib/private/Settings/AuthorizedGroupMapper.php
index 4313ce60580..c7c39cc6758 100644
--- a/lib/private/Settings/AuthorizedGroupMapper.php
+++ b/lib/private/Settings/AuthorizedGroupMapper.php
@@ -32,6 +32,9 @@ use OCP\IGroup;
use OCP\IGroupManager;
use OCP\IUser;
+/**
+ * @template-extends QBMapper<AuthorizedGroup>
+ */
class AuthorizedGroupMapper extends QBMapper {
public function __construct(IDBConnection $db) {
parent::__construct($db, 'authorized_groups', AuthorizedGroup::class);
diff --git a/lib/private/Tagging/TagMapper.php b/lib/private/Tagging/TagMapper.php
index 808fce2eeae..1ee9c33acf7 100644
--- a/lib/private/Tagging/TagMapper.php
+++ b/lib/private/Tagging/TagMapper.php
@@ -32,6 +32,8 @@ use OCP\DB\QueryBuilder\IQueryBuilder;
/**
* Mapper for Tag entity
+ *
+ * @template-extends QBMapper<Tag>
*/
class TagMapper extends QBMapper {
/**
diff --git a/lib/private/Updater/ChangesResult.php b/lib/private/Updater/Changes.php
index db2f730aa6a..81a57c0c871 100644
--- a/lib/private/Updater/ChangesResult.php
+++ b/lib/private/Updater/Changes.php
@@ -28,7 +28,7 @@ namespace OC\Updater;
use OCP\AppFramework\Db\Entity;
/**
- * Class ChangesResult
+ * Class Changes
*
* @package OC\Updater
* @method string getVersion()=1
@@ -40,7 +40,7 @@ use OCP\AppFramework\Db\Entity;
* @method string getData()
* @method void setData(string $data)
*/
-class ChangesResult extends Entity {
+class Changes extends Entity {
/** @var string */
protected $version = '';
diff --git a/lib/private/Updater/ChangesCheck.php b/lib/private/Updater/ChangesCheck.php
index e2b66853788..2c1eb321ee0 100644
--- a/lib/private/Updater/ChangesCheck.php
+++ b/lib/private/Updater/ChangesCheck.php
@@ -73,7 +73,7 @@ class ChangesCheck {
return json_decode($changesInfo->getData(), true);
}
} catch (DoesNotExistException $e) {
- $changesInfo = new ChangesResult();
+ $changesInfo = new Changes();
}
$response = $this->queryChangesServer($uri, $changesInfo);
@@ -109,7 +109,7 @@ class ChangesCheck {
return self::RESPONSE_NO_CONTENT;
}
- protected function cacheResult(ChangesResult $entry, string $version) {
+ protected function cacheResult(Changes $entry, string $version) {
if ($entry->getVersion() === $version) {
$this->mapper->update($entry);
} else {
@@ -121,7 +121,7 @@ class ChangesCheck {
/**
* @throws \Exception
*/
- protected function queryChangesServer(string $uri, ChangesResult $entry): IResponse {
+ protected function queryChangesServer(string $uri, Changes $entry): IResponse {
$headers = [];
if ($entry->getEtag() !== '') {
$headers['If-None-Match'] = [$entry->getEtag()];
diff --git a/lib/private/Updater/ChangesMapper.php b/lib/private/Updater/ChangesMapper.php
index 03e1ae3c2c1..33d50f5844f 100644
--- a/lib/private/Updater/ChangesMapper.php
+++ b/lib/private/Updater/ChangesMapper.php
@@ -31,6 +31,9 @@ use OCP\AppFramework\Db\QBMapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
+/**
+ * @template-extends QBMapper<Changes>
+ */
class ChangesMapper extends QBMapper {
public const TABLE_NAME = 'whats_new';
@@ -41,7 +44,7 @@ class ChangesMapper extends QBMapper {
/**
* @throws DoesNotExistException
*/
- public function getChanges(string $version): ChangesResult {
+ public function getChanges(string $version): Changes {
/* @var $qb IQueryBuilder */
$qb = $this->db->getQueryBuilder();
$result = $qb->select('*')
@@ -54,6 +57,6 @@ class ChangesMapper extends QBMapper {
if ($data === false) {
throw new DoesNotExistException('Changes info is not present');
}
- return ChangesResult::fromRow($data);
+ return Changes::fromRow($data);
}
}
diff --git a/lib/public/AppFramework/Db/QBMapper.php b/lib/public/AppFramework/Db/QBMapper.php
index 57f4cba2ff5..cbe3d39d4d7 100644
--- a/lib/public/AppFramework/Db/QBMapper.php
+++ b/lib/public/AppFramework/Db/QBMapper.php
@@ -55,8 +55,7 @@ abstract class QBMapper {
/**
* @param IDBConnection $db Instance of the Db abstraction layer
* @param string $tableName the name of the table. set this to allow entity
- * @param string|null $entityClass the name of the entity that the sql should be
- * @psalm-param class-string<T>|null $entityClass the name of the entity that the sql should be
+ * @param class-string<T>|null $entityClass the name of the entity that the sql should be
* mapped to queries without using sql
* @since 14.0.0
*/
diff --git a/tests/lib/Updater/ChangesCheckTest.php b/tests/lib/Updater/ChangesCheckTest.php
index 02da6d08401..e96406622f4 100644
--- a/tests/lib/Updater/ChangesCheckTest.php
+++ b/tests/lib/Updater/ChangesCheckTest.php
@@ -28,7 +28,7 @@ namespace Test\Updater;
use OC\Updater\ChangesCheck;
use OC\Updater\ChangesMapper;
-use OC\Updater\ChangesResult;
+use OC\Updater\Changes;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\Http\Client\IClient;
use OCP\Http\Client\IClientService;
@@ -88,7 +88,7 @@ class ChangesCheckTest extends TestCase {
public function testCacheResultInsert() {
$version = '13.0.4';
- $entry = $this->createMock(ChangesResult::class);
+ $entry = $this->createMock(Changes::class);
$entry->expects($this->exactly(2))
->method('__call')
->withConsecutive(['getVersion'], ['setVersion', [$version]])
@@ -104,7 +104,7 @@ class ChangesCheckTest extends TestCase {
public function testCacheResultUpdate() {
$version = '13.0.4';
- $entry = $this->createMock(ChangesResult::class);
+ $entry = $this->createMock(Changes::class);
$entry->expects($this->once())
->method('__call')
->willReturn($version);
@@ -306,7 +306,7 @@ class ChangesCheckTest extends TestCase {
*/
public function testQueryChangesServer(string $etag) {
$uri = 'https://changes.nextcloud.server/?13.0.5';
- $entry = $this->createMock(ChangesResult::class);
+ $entry = $this->createMock(Changes::class);
$entry->expects($this->any())
->method('__call')
->willReturn($etag);
@@ -370,7 +370,7 @@ class ChangesCheckTest extends TestCase {
$this->expectException(DoesNotExistException::class);
$mocker->willThrowException(new DoesNotExistException('Changes info is not present'));
} else {
- $entry = $this->createMock(ChangesResult::class);
+ $entry = $this->createMock(Changes::class);
$entry->expects($this->once())
->method('__call')
->with('getData')
@@ -386,7 +386,7 @@ class ChangesCheckTest extends TestCase {
}
public function testGetChangesForVersionEmptyData() {
- $entry = $this->createMock(ChangesResult::class);
+ $entry = $this->createMock(Changes::class);
$entry->expects($this->once())
->method('__call')
->with('getData')