示例#1
0
        private static bool ShouldSkip(LegacyAttachmentDetails attachmentInfo)
        {
            if (attachmentInfo.Metadata.TryGet("Raven-Delete-Marker", out bool deleted) && deleted)
            {
                return(true);
            }

            return(attachmentInfo.Key.EndsWith(".deleting") || attachmentInfo.Key.EndsWith(".downloading"));
        }
示例#2
0
        public static BlittableJsonReaderObject WriteDummyDocumentForAttachment(DocumentsOperationContext context, LegacyAttachmentDetails details)
        {
            var attachment = new DynamicJsonValue
            {
                ["Name"]        = details.Key,
                ["Hash"]        = details.Hash,
                ["ContentType"] = string.Empty,
                ["Size"]        = details.Size,
            };
            var attachments = new DynamicJsonArray();

            attachments.Add(attachment);
            var metadata = new DynamicJsonValue
            {
                [Constants.Documents.Metadata.Collection]  = "@files",
                [Constants.Documents.Metadata.Attachments] = attachments,
                [Constants.Documents.Metadata.LegacyAttachmentsMetadata] = details.Metadata
            };
            var djv = new DynamicJsonValue
            {
                [Constants.Documents.Metadata.Key] = metadata,
            };

            return(context.ReadObject(djv, details.Id));
        }