Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorCôme Chilliet <come.chilliet@nextcloud.com>2022-02-17 20:09:14 +0300
committerCôme Chilliet <come.chilliet@nextcloud.com>2022-02-17 20:09:14 +0300
commit885b7904a29218cd097182c1f1a751fa082a31b2 (patch)
tree364534d677add7f85a9cb9221e9df7b2a39f4a88 /lib
parent67fb1b92d6ad278377931e62f5f4af809b8cbe28 (diff)
Avoid passing both $importSource and $version while version comes from source
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/public/UserMigration/IImportSource.php9
-rw-r--r--lib/public/UserMigration/IMigrator.php9
-rw-r--r--lib/public/UserMigration/TMigratorBasicVersionHandling.php4
3 files changed, 14 insertions, 8 deletions
diff --git a/lib/public/UserMigration/IImportSource.php b/lib/public/UserMigration/IImportSource.php
index 53680010df5..f3051b097e0 100644
--- a/lib/public/UserMigration/IImportSource.php
+++ b/lib/public/UserMigration/IImportSource.php
@@ -71,6 +71,15 @@ interface IImportSource {
public function getMigratorVersions(): array;
/**
+ * @return ?int Version for this migrator from the export archive. Null means migrator missing.
+ *
+ * @param class-string<IMigrator> $migrator
+ *
+ * @since 24.0.0
+ */
+ public function getMigratorVersion(string $migrator): ?int;
+
+ /**
* Called after import is complete
*
* @since 24.0.0
diff --git a/lib/public/UserMigration/IMigrator.php b/lib/public/UserMigration/IMigrator.php
index 5a09bf4246b..4ff09167f5e 100644
--- a/lib/public/UserMigration/IMigrator.php
+++ b/lib/public/UserMigration/IMigrator.php
@@ -54,8 +54,7 @@ interface IMigrator {
public function import(
IUser $user,
IImportSource $importSource,
- OutputInterface $output,
- ?int $version
+ OutputInterface $output
): void;
/**
@@ -67,13 +66,11 @@ interface IMigrator {
/**
* Checks whether it is able to import a version of the export format for this migrator
- *
- * @param ?int $version Version stored in the import source for this migrator. Null means this migrator was not listed.
+ * Use $importSource->getMigratorVersion(static::class) to get the version from the archive
*
* @since 24.0.0
*/
public function canImport(
- IImportSource $importSource,
- ?int $version
+ IImportSource $importSource
): bool;
}
diff --git a/lib/public/UserMigration/TMigratorBasicVersionHandling.php b/lib/public/UserMigration/TMigratorBasicVersionHandling.php
index 6b695ec45d9..a1d408665a6 100644
--- a/lib/public/UserMigration/TMigratorBasicVersionHandling.php
+++ b/lib/public/UserMigration/TMigratorBasicVersionHandling.php
@@ -45,9 +45,9 @@ trait TMigratorBasicVersionHandling {
* {@inheritDoc}
*/
public function canImport(
- IImportSource $importSource,
- ?int $version
+ IImportSource $importSource
): bool {
+ $version = $importSource->getMigratorVersion(static::class);
if ($version === null) {
return !$this->mandatory;
}