示例#1
0
        public UploadFileModule(IFileUploadHandler fileUploadHandler, ILocalFileServer LocalFileServer)
            : base("/file")
        {
            // It requires you to be an admin to upload

            this.fileUploadHandler = fileUploadHandler;
            this.fileServer        = LocalFileServer;
            Get("/", async args =>
            {
                var list = await this.fileServer.ListFiles();
                var res  = new
                {
                    Status = "success",
                    Data   = list
                };
                return(Response.AsJson(res));
            });
            Post("/upload", async parameters =>
            {
                this.RequiresAuthentication();
                this.RequiresClaims(c => c.Value.Equals("admin"));
                var request = this.Bind <FileUploadRequest>();

                var uploadResult = await fileUploadHandler.HandleUpload(request.File.Name, request.File.Value);

                var response = new FileUploadResponse()
                {
                    Identifier = uploadResult.Identifier
                };

                return(Negotiate
                       .WithStatusCode(HttpStatusCode.OK)
                       .WithModel(response));
            });
        }
示例#2
0
        public when_handleUpload()
        {
            _streamHandler      = A.Fake <IStreamHandler>();
            _hostingEnvironment = A.Fake <IHostingEnvironment>();

            _fileUploadHandler = new FileUploadHandler(_streamHandler, _hostingEnvironment);
        }
        public when_handleUpload()
        {
            _streamHandler = A.Fake<IStreamHandler>();
            _hostingEnvironment = A.Fake<IHostingEnvironment>();

            _fileUploadHandler = new FileUploadHandler(_streamHandler, _hostingEnvironment);
        }
示例#4
0
        public StorylineBackendBootstrapper()
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(RootPathProvider.GetRootPath())
                          .AddJsonFile("appsettings.json")
                          .AddEnvironmentVariables();

            Configuration = builder.Build();
            // auto denpendency injection not working, mannually new this
            _fileUploadHandler = new UploadHandler(Configuration, RootPathProvider);
            _layoutHandler     = new LayoutHandler(Configuration, RootPathProvider);
        }
        public void SetUp()
        {
            applicationSettingsMock = MockRepository.GenerateStrictMock <IApplicationSettings>();
            fileUploadHandlerMock   = MockRepository.GenerateStrictMock <IFileUploadHandler>();

            bootstrapper = new Bootstrapper(
                new TestBootstrapperConfiguration(
                    new InstanceRegistration[]
            {
                new InstanceRegistration(typeof(IApplicationSettings), applicationSettingsMock),
                new InstanceRegistration(typeof(IFileUploadHandler), fileUploadHandlerMock)
            }));
        }
示例#6
0
 public FileController(
     ILogger <AdminController> logger,
     IHubContext <AppHub, IHubEvent> hub,
     IFileUploadHandler uploader,
     IFileUploadMonitor monitor,
     FileUploadOptions uploadOptions,
     WorkspaceService workspaceService
     ) : base(logger, hub)
 {
     _monitor  = monitor;
     _config   = uploadOptions;
     _svc      = workspaceService;
     _uploader = uploader;
 }
示例#7
0
 public FileController(
     ILogger <AdminController> logger,
     IIdentityResolver identityResolver,
     IFileUploadHandler uploader,
     IFileUploadMonitor monitor,
     FileUploadOptions uploadOptions,
     WorkspaceService workspaceService
     ) : base(logger, identityResolver)
 {
     _monitor          = monitor;
     _config           = uploadOptions;
     _workspaceService = workspaceService;
     _uploader         = uploader;
 }
示例#8
0
        public LiquidacaoModule(
            IFileUploadHandler fileUploadHandler,
            ILiquidacaoStore liquidacaoStore,
            IEventStore eventStore)
            : base("/file")
        {
            Get("/download/{virtualPath}/{filename}", async(args, _) =>
            {
                var userId     = int.TryParse(this.Request.Query.userId.Value, out int id) ? id : 0;
                var liquidacao = liquidacaoStore.Get(userId);

                var item = (LiquidacaoItem)liquidacao.GetItem(args.virtualPath);
                if (item == null)
                {
                    return(HttpStatusCode.NotFound);
                }

                var fileName = (string)args.filename;
                var mimeType = MimeTypes.GetMimeType(fileName);

                return(Response
                       .FromStream(await this.GetStreamAsync(item.Content), mimeType)
                       .AsAttachment(fileName));
            });

            Post("/upload", async(args, _) =>
            {
                var request = this.CustomBindAndValidate <FileUploadRequest>();

                var fileUploadResult = await fileUploadHandler
                                       .HandleUploadAsync(request.UserId, request.File, liquidacaoStore, eventStore);

                var response = new FileUploadResponse(fileUploadResult);

                log.Debug($"http://localhost:5001/{response.DownloadLink}?userId={request.UserId}");

                return(Negotiate
                       .WithStatusCode(HttpStatusCode.OK)
                       .WithModel(response));
            });
        }
        public FileUploadModule(IFileUploadHandler fileUploadHandler)
            : base("/file")
        {
            this.fileUploadHandler = fileUploadHandler;

            Post["/upload", true] = async(x, ct) =>
            {
                var request = this.CustomBindAndValidate <FileUploadRequest>();

                var uploadResult = await fileUploadHandler.HandleUpload(request.File.Name, request.File.Value);

                var response = new FileUploadResponse()
                {
                    Identifier = uploadResult.Identifier
                };

                return(Negotiate
                       .WithStatusCode(HttpStatusCode.OK)
                       .WithModel(response));
            };
        }
示例#10
0
        public FileModule(FigaroDataContext dataContext, IFileUploadHandler fileHandler)
        {
            handler = fileHandler;
            context = dataContext;

            Post("/file", o => {
                var file = Request.Files.FirstOrDefault();
                if (file == null)
                {
                    return new Response {
                        StatusCode = HttpStatusCode.ExpectationFailed
                    }
                }
                ;
                handler.HandleUpload(file.Name, file.Value);

                return(new Response {
                    StatusCode = HttpStatusCode.Accepted
                });
            });
        }
示例#11
0
        public async Task Invoke(HttpContext context, IFileUploadHandler uploader)
        {
            if (context.Request.Method == "POST" ||
                context.Request.Method == "PUT")
            {
                await Upload(context, uploader);

                return;
            }

            if (context.Request.Method == "GET")
            {
                if (context.Request.Query.ContainsKey("q"))
                {
                    Query(context);
                    return;
                }

                Fetch(context);
                return;
            }
        }
示例#12
0
        public ApiModule(IFileUploadHandler fileUploadHandler, ILayoutHandler layoutHandler) : base("/api")
        {
            _fileUploadHandler = fileUploadHandler;
            _layoutHandler     = layoutHandler;
            Post("/upload", async(args, ctx) =>
            {
                var request      = this.Bind <UploadRequest>();
                var uploadResult = await _fileUploadHandler.HandleUpload(request.File.Value);
                var response     = new ApiResponse <FileUploadResult>(ApiResponse <FileUploadResult> .OK, uploadResult);

                return(Negotiate
                       .WithStatusCode(HttpStatusCode.OK)
                       .WithModel(response));
            });

            Get("/layout", async(args, ctx) =>
            {
                var request  = Request.Query["id"].ToString();
                var result   = await _layoutHandler.handleLayout(request);
                var code     = result == null ? ApiResponse <LayoutResult> .ERR : ApiResponse <LayoutResult> .OK;
                var status   = result == null ? HttpStatusCode.BadRequest : HttpStatusCode.OK;
                var response = new ApiResponse <LayoutResult>(code, result);

                return(Negotiate
                       .WithStatusCode(status)
                       .WithModel(response));
            });

            Post("/update", async(args, ctx) =>
            {
                var request  = this.Bind <UpdateRequest>();
                var result   = await _layoutHandler.updateLayout(request);
                var response = new ApiResponse <LayoutResult>(ApiResponse <LayoutResult> .OK, result);
                return(Negotiate
                       .WithStatusCode(HttpStatusCode.OK)
                       .WithModel(response));
            });
        }
示例#13
0
 public OdsInstanceSettingsController(IMapper mapper
                                      , IGetVendorsQuery getVendorsQuery
                                      , IOdsApiFacadeFactory odsApiFacadeFactory
                                      , IGetProductionApiProvisioningWarningsQuery getProductionApiProvisioningWarningsQuery
                                      , ICachedItems cachedItems
                                      , IProductionSetupJob productionSetupJob
                                      , ICloudOdsSettingsService cloudOdsSettingsService
                                      , ITabDisplayService tabDisplayService
                                      , IProductionLearningStandardsJob learningStandardsJob
                                      , IEnableLearningStandardsSetupCommand learningStandardsSetupCommand
                                      , IOdsSecretConfigurationProvider odsSecretConfigurationProvider
                                      , IResetLearningStandards resetLearningStandards
                                      , IOdsApiConnectionInformationProvider apiConnectionInformationProvider
                                      , IFileUploadHandler fileUploadHandler
                                      , IBulkUploadJob bulkUploadJob
                                      , InstanceContext instanceContext
                                      , ICloudOdsAdminAppSettingsApiModeProvider cloudOdsAdminAppSettingsApiModeProvider
                                      , IInferOdsApiVersion inferOdsApiVersion)
 {
     _getVendorsQuery     = getVendorsQuery;
     _mapper              = mapper;
     _odsApiFacadeFactory = odsApiFacadeFactory;
     _getProductionApiProvisioningWarningsQuery = getProductionApiProvisioningWarningsQuery;
     _cachedItems                             = cachedItems;
     _productionSetupJob                      = productionSetupJob;
     _cloudOdsSettingsService                 = cloudOdsSettingsService;
     _tabDisplayService                       = tabDisplayService;
     _learningStandardsJob                    = learningStandardsJob;
     _learningStandardsSetupCommand           = learningStandardsSetupCommand;
     _odsSecretConfigurationProvider          = odsSecretConfigurationProvider;
     _resetLearningStandards                  = resetLearningStandards;
     _apiConnectionInformationProvider        = apiConnectionInformationProvider;
     _fileUploadHandler                       = fileUploadHandler;
     _bulkUploadJob                           = bulkUploadJob;
     _instanceContext                         = instanceContext;
     _cloudOdsAdminAppSettingsApiModeProvider = cloudOdsAdminAppSettingsApiModeProvider;
     _inferOdsApiVersion                      = inferOdsApiVersion;
 }
示例#14
0
 public BulkUploadController(
     ITabDisplayService tabDisplayService
     , IOdsSecretConfigurationProvider odsSecretConfigurationProvider
     , IOdsApiConnectionInformationProvider apiConnectionInformationProvider
     , IFileUploadHandler fileUploadHandler
     , IBulkUploadJob bulkUploadJob
     , InstanceContext instanceContext
     , IInferOdsApiVersion inferOdsApiVersion
     , IValidator <BulkFileUploadModel> bulkLoadValidator
     , IOptions <AppSettings> appSettingsAccessor
     , IWebHostEnvironment webHostEnvironment
     )
 {
     _tabDisplayService = tabDisplayService;
     _odsSecretConfigurationProvider   = odsSecretConfigurationProvider;
     _apiConnectionInformationProvider = apiConnectionInformationProvider;
     _fileUploadHandler  = fileUploadHandler;
     _bulkUploadJob      = bulkUploadJob;
     _instanceContext    = instanceContext;
     _inferOdsApiVersion = inferOdsApiVersion;
     _bulkLoadValidator  = bulkLoadValidator;
     _appSettings        = appSettingsAccessor.Value;
     _webHostEnvironment = webHostEnvironment;
 }
 public BulkImportService(IFileUploadHandler fileUploadHandler)
 {
     _fileUploadHandler = fileUploadHandler;
 }
示例#16
0
 public FileController(IFileUploadHandler fileHandler)
 {
     _fileHandler = fileHandler;
 }
示例#17
0
 public FileController(IFileUploadHandler fileHandler)
 {
     _fileHandler = fileHandler;
 }
示例#18
0
 public FileController(IFileUploadHandler handler)
 {
     _handler = handler;
 }
 public BulkImportService(IFileUploadHandler fileUploadHandler, IInferOdsApiVersion inferOdsApiVersion)
 {
     _fileUploadHandler  = fileUploadHandler;
     _inferOdsApiVersion = inferOdsApiVersion;
 }
示例#20
0
 public BulkUploadController(IFileUploadHandler fileUploadHandler, BulkUploadJob bulkUploadJob)
 {
     _fileUploadHandler = fileUploadHandler;
     _bulkUploadJob     = bulkUploadJob;
 }
示例#21
0
 public ImagemProdutoService(IRepository <ImagemProduto> repository, IFileUploadHandler fileUploadHandler) : base(repository)
 {
     _fileUploadHandler = fileUploadHandler;
 }
示例#22
0
        public IFileUploadHandler SetNext(IFileUploadHandler handler)
        {
            nextHandler = handler;

            return(nextHandler);
        }