public async Task <IActionResult> GetObjectMetadata( [FromRoute] string objectId, [FromQuery(Name = "revisionNr")] uint?revisionNumber) { try { var metadata = await readApi.ObjectApi.GetMetadata(objectId, revisionNumber); return(metadata switch { IFileMetadata fileMetadata => (IActionResult)Ok(new FileMetadataResponse(fileMetadata)), IDirectoryMetadata directoryMetadata => Ok(new DirectoryMetadataResponse(directoryMetadata)), _ => BadRequest() }); }
public DirectoryMetadataResponse(IDirectoryMetadata directoryMetadata) : base(directoryMetadata) { FileChilds = directoryMetadata.FileChilds.Select(x => new FileMetadataResponse(x)).ToArray(); DirectoryChilds = directoryMetadata.DirectoryChilds.Select(x => new MinimalDirectoryMetadataResponse(x)).ToArray(); }