Beispiel #1
0
 public ImageController(IFileAccessService fileService, IFileMetadataService metadataService, IImageService imageService, ILogger <ImageController> logger)
 {
     _fileService     = fileService ?? throw new ArgumentNullException(nameof(fileService));
     _metadataService = metadataService ?? throw new ArgumentNullException(nameof(metadataService));
     _imageService    = imageService ?? throw new ArgumentNullException(nameof(imageService));
     _logger          = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Beispiel #2
0
 public ImageController(IFileAccessService fileService, IImageService imageService, ILogger <ImageController> logger, IConfiguration configuration)
 {
     _fileService   = fileService ?? throw new ArgumentNullException(nameof(fileService));
     _imageService  = imageService ?? throw new ArgumentNullException(nameof(imageService));
     _logger        = logger ?? throw new ArgumentNullException(nameof(logger));
     _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));
 }
 /// <summary>
 /// Initializes the commands and sets <see cref="CredentialTokens"/> to an empty collection.
 /// The ViewModel must be activated before use.
 /// </summary>
 /// <param name="accessList">A list used to look up candidates to get their underlying files.</param>
 /// <param name="exportService">Used to export stored files.</param>
 /// <param name="proxyProvider">Provider to use for accessing stored databases.</param>
 /// <param name="deletePrompter">Service to use for prompting user consent/understanding.</param>
 /// <param name="updatePrompter">Service to use for prompting user consent/understanding.</param>
 /// <param name="fileService">Service to use for accessing the filesystem.</param>
 public CachedFilesViewModel(
     IDatabaseAccessList accessList,
     IFileExportService exportService,
     IFileProxyProvider proxyProvider,
     IUserPromptingService deletePrompter,
     IUserPromptingService updatePrompter,
     IFileAccessService fileService
     ) : base(accessList, proxyProvider, exportService, deletePrompter, updatePrompter, fileService)
 {
     this.accessList       = accessList;
     this.proxyProvider    = proxyProvider;
     this.deleteAllCommand = new AsyncActionCommand(
         async() =>
     {
         if (await this.proxyProvider.TryDeleteAllProxiesAsync()
             .ConfigureAwait(false)
             )
         {
             ClearAllFiles();
         }
         else
         {
             // If clearing wasn't successful we might need to add back some
             // files.
             await ResyncFiles();
         }
     }
         );
 }
Beispiel #4
0
 public FileController(IFileAccessService fileAccess,
                       IConfiguration config,
                       ILogger <FileController> logger)
 {
     _logger     = logger;
     _config     = config;
     _fileAccess = fileAccess;
 }
 public BusinessLogic(IFileAccessService fileAccesses,
                      IFileCategoryService fileCategories,
                      IFileService files,
                      IFileUrlService fileUrls)
 {
     Files          = files;
     FileCategories = fileCategories;
     FileAccesses   = fileAccesses;
     FileUrls       = fileUrls;
 }
Beispiel #6
0
        public MainPageViewModel(INavigationService navigationService,
                                 IFileAccessService fileAccessService,
                                 IDetectService detectService)
            : base(navigationService)
        {
            this.Title = "Yolo V3";

            this._FileAccessService = fileAccessService;
            this._DetectService     = detectService;
            this._FilePickCommand   = new Lazy <DelegateCommand>(this.FilePickCommandFactory);
        }
Beispiel #7
0
 /// <summary>
 /// Initializes dependencies.
 /// </summary>
 /// <param name="document">The document whose master key may be updated.</param>
 /// <param name="databaseFile">The underlying file to persist changes to.</param>
 /// <param name="credentialProvider">A provider that manages changes to credentials for the database.</param>
 /// <param name="fileService">The service used to pick a new keyfile.</param>
 public MasterKeyChangeViewModel(
     KdbxDocument document,
     ITestableFile databaseFile,
     IDatabaseCredentialProvider credentialProvider,
     IFileAccessService fileService
     ) : base(fileService)
 {
     this.document           = document ?? throw new ArgumentNullException(nameof(document));
     this.databaseFile       = databaseFile;
     this.credentialProvider = credentialProvider ?? throw new ArgumentNullException(nameof(credentialProvider));
 }
Beispiel #8
0
 /// <summary>
 /// Initializes the ViewModel with the <see cref="IStorageItemAccessList"/> provided.
 /// </summary>
 /// <param name="accessList">The access list used to populate the RecentDatabases collection.</param>
 /// <param name="motdProvider">Used to provide the message-of-the-day.</param>
 /// <param name="proxyProvider">Used to generate database proxy files in the roaming directory.</param>
 /// <param name="exportService">Used to export copies of cached files.</param>
 /// <param name="deletePrompter">Used to prompt the user for consent/understanding.</param>
 /// <param name="updatePrompter">Used to prompt the user for consent/understanding.</param>
 /// <param name="fileService">Used to access the filesystem.</param>
 public DashboardViewModel(
     IDatabaseAccessList accessList,
     IMotdProvider motdProvider,
     IFileProxyProvider proxyProvider,
     IFileExportService exportService,
     IUserPromptingService deletePrompter,
     IUserPromptingService updatePrompter,
     IFileAccessService fileService
     ) : base(accessList, proxyProvider, exportService, deletePrompter, updatePrompter, fileService)
 {
     this.motdProvider  = motdProvider ?? throw new ArgumentNullException(nameof(motdProvider));
     this.proxyProvider = proxyProvider ?? throw new ArgumentNullException(nameof(proxyProvider));
 }
Beispiel #9
0
        /// <summary>
        /// Initializes the view model.
        /// </summary>
        public MasterKeyViewModel(IFileAccessService fileService)
        {
            this.fileService = fileService ?? throw new ArgumentNullException(nameof(fileService));

            this.keyfileCommand = new AsyncActionCommand(
                async() =>
            {
                KeyFile = await fileService.PickFileForOpenAsync();
            }
                );

            this.confirmCommand = new AsyncActionCommand(
                () => (!String.IsNullOrEmpty(this.password) || this.keyFile != null) && this.password == this.confirmedPassword,
                () => HandleCredentialsAsync(this.password, this.keyFile)
                );
        }
 public CachedFilesViewModelFactory(
     IDatabaseAccessList accessList,
     IFileExportService exportService,
     IFileProxyProvider proxyProvider,
     IUserPromptingService deletePrompter,
     IUserPromptingService updatePrompter,
     IFileAccessService fileService
     )
 {
     this.accessList     = accessList ?? throw new ArgumentNullException(nameof(accessList));
     this.exportService  = exportService ?? throw new ArgumentNullException(nameof(exportService));
     this.proxyProvider  = proxyProvider ?? throw new ArgumentNullException(nameof(proxyProvider));
     this.deletePrompter = deletePrompter ?? throw new ArgumentNullException(nameof(deletePrompter));
     this.updatePrompter = updatePrompter ?? throw new ArgumentNullException(nameof(updatePrompter));
     this.fileService    = fileService ?? throw new ArgumentNullException(nameof(fileService));
 }
        /// <summary>
        /// Initializes the instance with the services needed to export files.
        /// </summary>
        /// <param name="accessList">Used to retrieve files from stored tokens.</param>
        /// <param name="proxyProvider">Used to manage underlying cached file proxies.</param>
        /// <param name="exportService">The service used to export databases.</param>
        /// <param name="deletePrompter">A service used to prompt the user for consent to delete a file.</param>
        /// <param name="updatePrompter">A service used to prompt the user for consent to update a file.</param>
        /// <param name="fileService">A service used to access the filesystem.</param>
        protected CachedFileExportingViewModel(
            IDatabaseAccessList accessList,
            IFileProxyProvider proxyProvider,
            IFileExportService exportService,
            IUserPromptingService deletePrompter,
            IUserPromptingService updatePrompter,
            IFileAccessService fileService
            )
        {
            this.accessList     = accessList ?? throw new ArgumentNullException(nameof(accessList));
            this.proxyProvider  = proxyProvider ?? throw new ArgumentNullException(nameof(proxyProvider));
            this.exportService  = exportService ?? throw new ArgumentNullException(nameof(exportService));
            this.deletePrompter = deletePrompter ?? throw new ArgumentNullException(nameof(deletePrompter));
            this.updatePrompter = updatePrompter ?? throw new ArgumentNullException(nameof(updatePrompter));
            this.fileService    = fileService ?? throw new ArgumentNullException(nameof(fileService));

            this.data = new ObservableCollection <StoredFileDescriptor>(
                this.accessList.Entries.Select(entry => new StoredFileDescriptor(entry))
                );

            this.readOnlyData = new ReadOnlyObservableCollection <StoredFileDescriptor>(this.data);
        }
Beispiel #12
0
 public ClientService(IDownloader downloader, IFormatter serializationFormatter, DirectoryInfo localStorage)
 {
     fileAccessService           = new FileAccessService(localStorage);
     this.downloader             = downloader;
     this.serializationFormatter = serializationFormatter;
     filesAvailable.Edit(l => { l.AddOrUpdate(fileAccessService.FilesAvailable()); });
     LogTo.Warning("Creating pipeline");
     Repos = GroupUrls.Connect()
             .Transform(g => new Uri(g))
             .TransformAsync(Load <Group>)
             .TransformMany(g => g.RepoInfos.Select(r => g.CombineBaseUri(r.Uri)), repoUri => repoUri)
             .TransformAsync(Load <Repo>)
             .OnItemUpdated((repo, _) => LogTo.Information("Repo from {url} has been loaded", repo.BaseUri))
             .AsObservableCache();
     d.Add(Repos);
     OnlineFiles = Repos.Connect()
                   .TransformMany(
         repo => repo.Files.Select(kvp => new OnlineFile(kvp.Key, repo.CombineBaseUri(kvp.Value))),
         of => of.FileSignature).AsObservableCache();
     d.Add(OnlineFiles);
     Modpacks = Repos.Connect()
                .TransformMany(r => r.Modpacks.Select(m => new Modpack(m)), m => m.Id).AsObservableCache();
     d.Add(Modpacks);
 }
Beispiel #13
0
        public DatabaseCreationViewModel(
            ISyncContext syncContext,
            ITestableFile file,
            IDatabaseSettingsViewModelFactory settingsVmFactory,
            IMasterKeyChangeViewModelFactory keyChangeVmFactory,
            IKdbxWriterFactory writerFactory,
            IDatabaseAccessList futureAccessList,
            ITaskNotificationService taskNotificationService,
            IDatabaseCandidateFactory candidateFactory,
            IFileAccessService fileAccessService
            ) : base(fileAccessService)
        {
            this.syncContext             = syncContext ?? throw new ArgumentNullException(nameof(syncContext));
            File                         = file ?? throw new ArgumentNullException(nameof(file));
            Settings                     = settingsVmFactory?.Assemble() ?? throw new ArgumentNullException(nameof(settingsVmFactory));
            this.keyChangeVmFactory      = keyChangeVmFactory ?? throw new ArgumentNullException(nameof(keyChangeVmFactory));
            this.writerFactory           = writerFactory ?? throw new ArgumentNullException(nameof(writerFactory));
            this.futureAccessList        = futureAccessList ?? throw new ArgumentNullException(nameof(futureAccessList));
            this.taskNotificationService = taskNotificationService ?? throw new ArgumentNullException(nameof(taskNotificationService));
            this.candidateFactory        = candidateFactory ?? throw new ArgumentNullException(nameof(candidateFactory));

            CreateEmpty = true;
            Remember    = true;
        }
Beispiel #14
0
 /// <summary>
 /// Initializes the service using the provided database access list.
 /// </summary>
 /// <param name="accessList">The list from which to retrieve database candidates.</param>
 /// <param name="fileService">The service used to access the filesystem.</param>
 public FileExportService(IDatabaseAccessList accessList, IFileAccessService fileService)
 {
     this.accessList  = accessList ?? throw new ArgumentNullException(nameof(accessList));
     this.fileService = fileService ?? throw new ArgumentNullException(nameof(fileService));
 }
Beispiel #15
0
 public WebSiteService(IWebSiteRepository webSiteRepository, IRepositorySession session, IFileAccessService fileAccessService)
 {
     _webSiteRepository = webSiteRepository;
     _session           = session;
     _fileAccessService = fileAccessService;
 }
Beispiel #16
0
 public FileAccessController(IFileAccessService fileService, IFileAccessMapper mapper)
 {
     this.fileService = fileService;
     this.mapper      = mapper;
 }
Beispiel #17
0
 public FileStorageService(IFileAccessService fileAccessService)
 {
     this.fileAccessService = fileAccessService;
     availableFiles.AddOrUpdate(fileAccessService.FilesAvailable());
 }
Beispiel #18
0
 public FileController(IFileAccessService fileService, ILogger <FileController> logger)
 {
     _fileService = fileService ?? throw new ArgumentNullException(nameof(fileService));
     _logger      = logger ?? throw new ArgumentNullException(nameof(logger));
 }