Merge pull request #31911 from nextcloud/enh/extend-migrators

Extend migrators needed for implementation of the API
This commit is contained in:
Vincent Petry 2022-04-11 10:24:20 +02:00 committed by GitHub
commit e36233dbab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 117 additions and 2 deletions

View file

@ -464,4 +464,25 @@ class CalendarMigrator implements IMigrator {
}
}
}
/**
* {@inheritDoc}
*/
public function getId(): string {
return 'calendar';
}
/**
* {@inheritDoc}
*/
public function getDisplayName(): string {
return $this->l10n->t('Calendar');
}
/**
* {@inheritDoc}
*/
public function getDescription(): string {
return $this->l10n->t('Calendars including events, details, and attendees');
}
}

View file

@ -363,4 +363,25 @@ class ContactsMigrator implements IMigrator {
}
}
}
/**
* {@inheritDoc}
*/
public function getId(): string {
return 'contacts';
}
/**
* {@inheritDoc}
*/
public function getDisplayName(): string {
return $this->l10n->t('Contacts');
}
/**
* {@inheritDoc}
*/
public function getDescription(): string {
return $this->l10n->t('Contacts and groups');
}
}

View file

@ -31,6 +31,7 @@ use OCP\Files\Folder;
use OCP\Files\IRootFolder;
use OCP\Files\NotFoundException;
use OCP\IDBConnection;
use OCP\IL10N;
use OCP\IUser;
use OCP\UserMigration\IExportDestination;
use OCP\UserMigration\IImportSource;
@ -50,12 +51,16 @@ class TrashbinMigrator implements IMigrator {
protected IDBConnection $dbc;
protected IL10N $l10n;
public function __construct(
IRootFolder $rootFolder,
IDBConnection $dbc
IDBConnection $dbc,
IL10N $l10n
) {
$this->root = $rootFolder;
$this->dbc = $dbc;
$this->l10n = $l10n;
}
/**
@ -134,4 +139,25 @@ class TrashbinMigrator implements IMigrator {
$output->writeln("No trashbin to import…");
}
}
/**
* {@inheritDoc}
*/
public function getId(): string {
return 'trashbin';
}
/**
* {@inheritDoc}
*/
public function getDisplayName(): string {
return $this->l10n->t('Deleted files');
}
/**
* {@inheritDoc}
*/
public function getDescription(): string {
return $this->l10n->t('Deleted files and folders in the trash bin');
}
}

View file

@ -32,6 +32,7 @@ use OC\NotSquareException;
use OCA\Settings\AppInfo\Application;
use OCP\Accounts\IAccountManager;
use OCP\IAvatarManager;
use OCP\IL10N;
use OCP\IUser;
use OCP\UserMigration\IExportDestination;
use OCP\UserMigration\IImportSource;
@ -49,6 +50,8 @@ class AccountMigrator implements IMigrator {
private IAvatarManager $avatarManager;
private IL10N $l10n;
private const PATH_ROOT = Application::APP_ID . '/';
private const PATH_ACCOUNT_FILE = AccountMigrator::PATH_ROOT . 'account.json';
@ -57,10 +60,12 @@ class AccountMigrator implements IMigrator {
public function __construct(
IAccountManager $accountManager,
IAvatarManager $avatarManager
IAvatarManager $avatarManager,
IL10N $l10n
) {
$this->accountManager = $accountManager;
$this->avatarManager = $avatarManager;
$this->l10n = $l10n;
}
/**
@ -137,4 +142,25 @@ class AccountMigrator implements IMigrator {
}
}
}
/**
* {@inheritDoc}
*/
public function getId(): string {
return 'account';
}
/**
* {@inheritDoc}
*/
public function getDisplayName(): string {
return $this->l10n->t('Profile information');
}
/**
* {@inheritDoc}
*/
public function getDescription(): string {
return $this->l10n->t('Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled');
}
}

View file

@ -59,6 +59,27 @@ interface IMigrator {
OutputInterface $output
): void;
/**
* Returns the unique ID
*
* @since 24.0.0
*/
public function getId(): string;
/**
* Returns the display name
*
* @since 24.0.0
*/
public function getDisplayName(): string;
/**
* Returns the description
*
* @since 24.0.0
*/
public function getDescription(): string;
/**
* Returns the version of the export format for this migrator
*