public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy authorizationSessionProxy = (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            ProgramArgumentsProxy     programArgProxy           = (ProgramArgumentsProxy)Facade.RetrieveProxy(ProgramArgumentsProxy.Name);
            UploadFileProxy           uploadFileProxy           = (UploadFileProxy)Facade.RetrieveProxy(UploadFileProxy.Name);

            if (programArgProxy.TryGetArgument(FolderOption, out string folderToUpload) == false)
            {
                throw new TerminateProgramException(
                          $"No folder provided. Did you remember to use {FolderOption}?"
                          );
            }

            if (programArgProxy.TryGetArgument(RootDestinationFolderOption, out string rootDestinationFolder) == false)
            {
                throw new TerminateProgramException(
                          $"No root destination folder provided. Did you remember to use {RootDestinationFolderOption}?"
                          );
            }

            uploadFileProxy.AddFolder(
                () => authorizationSessionProxy.AuthorizationSession,
                folderToUpload,
                rootDestinationFolder,
                programArgProxy.DoesOptionExist(OverrideOption),
                programArgProxy.DoesOptionExist(DryRunOption)
                );
        }
示例#2
0
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy authorizationSessionProxy = (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            ConfigProxy           configProxy     = (ConfigProxy)Facade.RetrieveProxy(ConfigProxy.Name);
            ProgramArgumentsProxy programArgProxy = (ProgramArgumentsProxy)Facade.RetrieveProxy(ProgramArgumentsProxy.Name);
            UploadFileProxy       uploadFileProxy = (UploadFileProxy)Facade.RetrieveProxy(UploadFileProxy.Name);

            if (programArgProxy.TryGetArgument(FileOption, out string fileToUpload) == false)
            {
                throw new TerminateProgramException(
                          $"File to upload not provided. Did you remember to use {FileOption}?"
                          );
            }

            if (programArgProxy.TryGetArgument(DestinationOption, out string remoteDestinationPath) == false)
            {
                throw new TerminateProgramException(
                          $"Destination not provided. Did you remember to use {DestinationOption}?"
                          );
            }

            uploadFileProxy.AddLocalFile(
                authorizationSessionProxy.AuthorizationSession,
                fileToUpload,
                remoteDestinationPath,
                programArgProxy.DoesOptionExist(OverrideOption)
                );
        }
示例#3
0
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy authorizationSessionProxy = (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            PruneFileShardProxy       pruneFileShardProxy       = (PruneFileShardProxy)Facade.RetrieveProxy(PruneFileShardProxy.Name);

            pruneFileShardProxy.PruneShards(() => authorizationSessionProxy.AuthorizationSession);
        }
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy     authorizationSessionProxy     = (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            CleanUpUnfinishedUploadsProxy cleanUpUnfinishedUploadsProxy = (CleanUpUnfinishedUploadsProxy)Facade.RetrieveProxy(CleanUpUnfinishedUploadsProxy.Name);

            cleanUpUnfinishedUploadsProxy.CleanUpUnfinishedUploads(() => authorizationSessionProxy.AuthorizationSession);
        }
示例#5
0
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy authorizationSessionProxy = (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            CheckFileManifestProxy    checkFileManifestProxy    = (CheckFileManifestProxy)Facade.RetrieveProxy(CheckFileManifestProxy.Name);

            checkFileManifestProxy.CheckFileManifest(() => authorizationSessionProxy.AuthorizationSession);
        }
示例#6
0
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy authorizationSessionProxy = (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            DeleteFileProxy           deleteFileProxy           = (DeleteFileProxy)Facade.RetrieveProxy(DeleteFileProxy.Name);

            deleteFileProxy.DeleteFile(() => authorizationSessionProxy.AuthorizationSession, GetFileToDelete());
        }
示例#7
0
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            Database.File             file               = GetFile();
            string                    newFileName        = GetNewFileName();
            AuthorizationSessionProxy authorizationProxy = (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            RenameFileProxy           renameFileProxy    = (RenameFileProxy)Facade.RetrieveProxy(RenameFileProxy.Name);

            renameFileProxy.RenameFile(authorizationProxy.AuthorizationSession, file, newFileName);
        }
示例#8
0
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy authorizationSessionProxy = (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            ProgramArgumentsProxy     programArgProxy           = (ProgramArgumentsProxy)Facade.RetrieveProxy(ProgramArgumentsProxy.Name);
            CompactShardsProxy        compactShardsProxy        = (CompactShardsProxy)Facade.RetrieveProxy(CompactShardsProxy.Name);

            compactShardsProxy.CompactShards(
                authorizationSessionProxy.AuthorizationSession,
                programArgProxy.DoesOptionExist(DryRunOption)
                );
        }
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy authorizationProxy = (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);

            Database.File fileToDownload       = GetFile();
            string        localFileDestination = GetDestinationOfFile(fileToDownload);

            DownloadFileProxy downloadFileProxy = (DownloadFileProxy)Facade.RetrieveProxy(DownloadFileProxy.Name);

            downloadFileProxy.DownloadFile(authorizationProxy.AuthorizationSession, fileToDownload, localFileDestination);
            this.Info($"Finished downloading file: {fileToDownload}");
        }
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy authorizationSessionProxy = (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            ConfigProxy configProxy = (ConfigProxy)Facade.RetrieveProxy(ConfigProxy.Name);

            BackblazeB2AuthorizationSession authorizationSession = authorizationSessionProxy.AuthorizationSession;
            Config config = configProxy.Config;

            Facade.RegisterProxy(new CheckFileManifestProxy(authorizationSession, config));
            Facade.RegisterProxy(new CompactShardsProxy(authorizationSession, config));
            Facade.RegisterProxy(new DeleteFileProxy(authorizationSession, config));
            Facade.RegisterProxy(new DownloadFileManifestProxy(authorizationSession, config));
            Facade.RegisterProxy(new RemoteFileSystemProxy(authorizationSession, config));
            Facade.RegisterProxy(new RenameFileProxy(authorizationSession, config));
            Facade.RegisterProxy(new PruneFileShardProxy(authorizationSession, config));
            Facade.RegisterProxy(new UploadFileProxy(authorizationSession, config));
        }
示例#11
0
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy authorizationProxy =
                (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            DownloadFileProxy downloadFileProxy = (DownloadFileProxy)Facade.RetrieveProxy(DownloadFileProxy.Name);

            foreach (Database.File remoteFile in GetFilesToDownload())
            {
                CancellationEventRouter.GlobalCancellationToken.ThrowIfCancellationRequested();

                downloadFileProxy.DownloadFile(
                    authorizationProxy.AuthorizationSession,
                    remoteFile,
                    GenerateLocalFilePath(remoteFile)
                    );
            }

            this.Info(FinishedCommandNotification);
        }
示例#12
0
        public override void Execute(INotification notification)
        {
            this.Debug(CommandNotification);
            AuthorizationSessionProxy authorizationProxy =
                (AuthorizationSessionProxy)Facade.RetrieveProxy(AuthorizationSessionProxy.Name);
            DeleteFileProxy       deleteFileProxy  = (DeleteFileProxy)Facade.RetrieveProxy(DeleteFileProxy.Name);
            ProgramArgumentsProxy programArgsProxy = (ProgramArgumentsProxy)Facade.RetrieveProxy(ProgramArgumentsProxy.Name);
            bool isDryRun = programArgsProxy.DoesOptionExist(DryRunOption);

            foreach (Database.File file in GetFilesToDelete())
            {
                CancellationEventRouter.GlobalCancellationToken.ThrowIfCancellationRequested();
                if (isDryRun == false)
                {
                    deleteFileProxy.DeleteFile(() => authorizationProxy.AuthorizationSession, file);
                }
                else
                {
                    this.Info($"[DRY-RUN|: Would have deleted file: {file.FileName}");
                }
            }

            this.Info("Finished deleting all files");
        }