Esempio n. 1
0
        public async Task <IActionResult> CreateContainer([FromQuery] string containername)
        {
            var command = new CreateContainerCommand(containername);
            var result  = await _mediator.Send(command);

            return(ResultResponse(result));
        }
Esempio n. 2
0
        public Task <Result <CabinetFileInfo> > Handle(CreateContainerCommand request, CancellationToken cancellationToken)
        {
            return(Task.Run(() =>
            {
                var path = Path.Combine(cs.DataDir, request.ContainerName);

                // does the directory already exist
                if (Directory.Exists(path))
                {
                    var message = $"container name '{request.ContainerName}' already exist";
                    return Result.Fail <CabinetFileInfo>(new Error(message));
                }

                var subdi = cs.DirectoryInfo.CreateSubdirectory(request.ContainerName);

                // was the directory created
                var cInfo = new CabinetFileInfo {
                    CreatedAt = subdi.CreationTime, Name = subdi.Name, Path = subdi.FullName
                };
                return Result.Ok(cInfo);
            }));
        }