Beispiel #1
0
        public static SkippedUrlsIndexDoc ToSkippedUrlsIndexDoc(this UnpublishedPost post)
        {
            var doc = new SkippedUrlsIndexDoc
            {
                Id   = Guid.NewGuid().ToString(),
                Url  = post.OriginalLink.ToLower(),
                Date = DateTime.UtcNow
            };

            return(doc);
        }
Beispiel #2
0
        public async Task <bool> PostArticle([FromBody] UnpublishedPost post)
        {
            DocumentIndexResult uploadedDoc;

            try
            {
                if (post.ShouldSkip)
                {
                    SkippedUrlsIndexDoc skippedDoc = post.ToSkippedUrlsIndexDoc();
                    uploadedDoc = await _skippedUrlsIndex.UploadDocument(skippedDoc);

                    return(uploadedDoc.Results.First().Succeeded);
                }

                FeedsIndexDoc doc = post.ToFeedsIndexDoc();

                // Upload image to local resource
                var filename   = string.Format("{0}.jpeg", doc.Id);
                var uploadSucc = await _ds.UploadImageAsync(filename, doc.ImageUrl);

                // If tagged, upload to image db
                bool imageUploaded = true;
                var  uploadedUrl   = string.Format("https://storage.googleapis.com/www.archishainnovators.com/images/{0}", filename);
                if (post.Image.Tags.Any())
                {
                    ImagesIndexDoc imageDoc = new ImagesIndexDoc
                    {
                        Id        = doc.Id,
                        DateAdded = DateTime.Now,
                        SourceUrl = doc.ImageUrl,
                        Url       = uploadedUrl,
                        Tags      = post.Image.Tags
                    };
                    var uploadResult = await _imagesIndex.UploadDocument(imageDoc);

                    imageUploaded = uploadResult.Results.First().Succeeded;
                }
                doc.ImageUrl = uploadedUrl;

                // Upload post
                uploadedDoc = await _feedsIndex.UploadDocument(doc);

                return(uploadedDoc.Results.First().Succeeded&& imageUploaded);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Beispiel #3
0
        public static FeedsIndexDoc ToFeedsIndexDoc(this UnpublishedPost unpublishedPost)
        {
            var doc = new FeedsIndexDoc
            {
                Id             = Guid.NewGuid().ToString(),
                Title          = unpublishedPost.Heading,
                Text           = unpublishedPost.Snippet,
                CreatedTime    = DateTime.UtcNow,
                ImageUrl       = unpublishedPost.Image.Url,
                LandingPageUrl = unpublishedPost.OriginalLink.ToLower(),
                OriginalLink   = unpublishedPost.OriginalLink,
                CardStyle      = unpublishedPost.CardStyle.ToLower(), // TODO:
                PostedBy       = unpublishedPost.PostedBy.ToLower(),
                SharedBy       = new string[] { },
                LikedBy        = new string[] { },
                Language       = unpublishedPost.Language.ToLower(),
                Tags           = unpublishedPost.Tags,
                Streams        = unpublishedPost.Streams
            };

            return(doc);
        }