mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Add type hints for mappers
Signed-off-by: jld3103 <jld3103yt@gmail.com>
This commit is contained in:
parent
0126247439
commit
b153340b62
16 changed files with 45 additions and 19 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -30,6 +30,8 @@ use OCP\IDBConnection;
|
|||
|
||||
/**
|
||||
* @method KnownUser mapRowToEntity(array $row)
|
||||
*
|
||||
* @template-extends QBMapper<KnownUser>
|
||||
*/
|
||||
class KnownUserMapper extends QBMapper {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ use OCP\DB\QueryBuilder\IQueryBuilder;
|
|||
|
||||
/**
|
||||
* Mapper for Tag entity
|
||||
*
|
||||
* @template-extends QBMapper<Tag>
|
||||
*/
|
||||
class TagMapper extends QBMapper {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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 = '';
|
||||
|
||||
|
|
@ -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()];
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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')
|
||||
|
|
|
|||
Loading…
Reference in a new issue