handleRestoreUuid method

Future<void> handleRestoreUuid(
  1. ArgResults argResults
)

Implementation

Future<void> handleRestoreUuid(ArgResults argResults) async {
  final args = argResults.rest.sublist(1);
  if (args.isEmpty) _exit('Usage: restore-uuid <uuid>');

  await _prepareClient();
  final itemUuid = args[0];
  final forceFlag = argResults['force'] as bool;

  if (!forceFlag) {
    if (!_confirmAction(
        '\u2753 Restore item "$itemUuid" to original location?')) {
      print("\u274c Cancelled");
      return;
    }
  }

  print("\ud83d\ude80 Restoring item...");
  try {
    try {
      await client.restoreItem(itemUuid, 'file');
      print("\u2705 Restored (file).");
    } catch (_) {
      await client.restoreItem(itemUuid, 'folder');
      print("\u2705 Restored (folder).");
    }
  } catch (e) {
    _exit("Failed to restore: $e");
  }
}