public Task <Result <CabinetFileInfo> > Handle(GetDocumentInfoQuery request, CancellationToken cancellationToken) { return(Task.Run(() => { var dPath = Path.Combine(cs.DataDir, request.ContainerName); if (!Directory.Exists(dPath)) { var message = $"container name '{request.ContainerName}' does not exist"; return Result.Fail <CabinetFileInfo>(new Error(message)); } var fPath = Path.Combine(dPath, request.DocumentName); if (!File.Exists(fPath)) { var message = $"file name '{request.ContainerName}' does not exist"; return Result.Fail <CabinetFileInfo>(new Error(message)); } var file = new FileInfo(fPath); var cfInfo = new CabinetFileInfo { Name = file.Name, Path = file.FullName, Size = file.Length, ContainerName = request.ContainerName, DocumentName = request.DocumentName, MimeType = file.Extension.ToMimeType(cs.MimeTypes), CreatedAt = file.CreationTimeUtc, }; return Result.Ok(cfInfo); })); }
public async Task <IActionResult> GetDocumentInfo( [FromQuery] string containerName, [FromQuery] string documentName) { var query = new GetDocumentInfoQuery(containerName, documentName); var result = await _mediator.Send(query); if (!result.IsSuccess) { return(BadRequest()); } return(Ok(new { success = true, payload = result.Value })); }