// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { string azureStorage = Configuration["PDFTEXTREADER_FRONTEND_STORAGE"]; string configFullAccess = Configuration["PDFTEXTREADER_FRONTEND_FULLACCESS"]; bool hasFullAccess = (configFullAccess != null) && Boolean.Parse(configFullAccess); string azureQueueConfig = Configuration["PDFTEXTREADER_FRONTEND_QUEUE"]; services.Configure <CopyFilesConfig>(Configuration.GetSection("CopyFiles")); services.Configure <ImagesController.Config>(Configuration.GetSection("Images")); IVirtualFS2 virtualFS = (String.IsNullOrEmpty(azureStorage)) ? (IVirtualFS2) new WebVirtualFS() : new AzureFS(azureStorage); services.AddSingleton <IVirtualFS2>(virtualFS); if (azureQueueConfig != null) { services.AddSingleton(AzureQueue.OpenAsync(azureQueueConfig).Result); services.AddSingleton <JobManager>(); services.AddSingleton <JobProcess>(); services.AddSingleton <CopyFiles>(); services.AddSingleton <IHostedService, JobManagerHostedService>(); } services.AddSingleton <DownloadFolder>(); services.AddTransient <PrettyTextFile>(); services.AddSingleton <DeleteFiles>(); services.AddSingleton(new AccessManager(virtualFS, hasFullAccess)); services.AddMvc(); }
public CopyFiles(IVirtualFS2 webFS, IOptions <CopyFilesConfig> config) { string sourceUrl = config.Value.StorageAccount; if (String.IsNullOrEmpty(sourceUrl)) { throw new InvalidOperationException(nameof(sourceUrl)); } this._webFS = webFS; this._sourceFS = new AzureFS(sourceUrl, "pdf"); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { string azureStorage = Configuration["PDFTEXTREADER_FRONTEND_STORAGE"]; string configFullAccess = Configuration["PDFTEXTREADER_FRONTEND_FULLACCESS"]; bool hasFullAccess = (configFullAccess != null) && Boolean.Parse(configFullAccess); IVirtualFS2 virtualFS = (String.IsNullOrEmpty(azureStorage)) ? (IVirtualFS2) new WebVirtualFS() : new AzureFS(azureStorage); services.AddSingleton(new AccessManager(virtualFS, hasFullAccess)); services.AddMvc(); }
public IndexModel(AccessManager amgr) { _vfs = amgr.GetReadOnlyFileSystem(); }
public DownloadFolder(IVirtualFS2 vfs) { this._vfs = vfs; }
public InputFiles(IVirtualFS2 webFS) { this._webFS = webFS; }
public DeleteFiles(AccessManager amgr) { this._webFS = amgr.GetFullAccessFileSystem(); }
public AccessManager(IVirtualFS2 virtualFS, bool hasFullAccess) { _virtualFS = virtualFS; _hasFullAccess = hasFullAccess; }