public DocumentAttachments(ClientAttachmentInfo[] attachments)
 {
     _attachments = attachments;
 }
        public async Task<HttpResponseMessage> GetAttachmentList(
            TenantId tenantId,
            DocumentHandle handle
        )
        {
            var documentDescriptor = _documentDescriptorReader.AllUnsorted.SingleOrDefault(d =>
                  d.Documents.Contains(handle));

            if (documentDescriptor == null)
            {
                return DocumentNotFound(handle);
            }

            if (documentDescriptor.Attachments == null || documentDescriptor.Attachments.Count == 0)
                return Request.CreateResponse(HttpStatusCode.OK, new List<ClientAttachmentInfo>());

            var attachments = documentDescriptor.Attachments
                .Select(a =>
                {
                    var attachment = new ClientAttachmentInfo()
                    {
                        Handle = Url.Content("/" + tenantId + "/documents/" + a.Handle),
                        RelativePath = a.RelativePath
                    };
                    var hasAttachment = _documentDescriptorReader.AllUnsorted.Any(d =>
                        d.Documents.Contains(a.Handle) &&
                        d.Attachments.Count > 0);
                    attachment.HasAttachments = hasAttachment;
                    return attachment;
                })
                .ToList();

            return Request.CreateResponse(HttpStatusCode.OK, attachments);
        }