Ejemplo n.º 1
0
        public async Task <IActionResult> CreateImageObjectByHttpAsync(
            [HttpTrigger(
                 AuthorizationLevel.Anonymous,
                 methods: "post",
                 Route = "show/{showId}/image"
                 )] HttpRequestMessage req,
            ClaimsPrincipal identity,
            string showId,
            ILogger log
            )
        {
            string authorizationStatus = req.Headers.GetValues("AuthorizationStatus").FirstOrDefault();

            if (Convert.ToInt32(authorizationStatus).Equals((int)HttpStatusCode.Accepted))
            {
                ImageObject inputObject             = JsonConvert.DeserializeObject <ImageObject>(await req.Content.ReadAsStringAsync());
                MessageObject <ImageObject> message = new MessageObject <ImageObject>()
                {
                    Headers = new MessageHeaders()
                    {
                        RequestCorrelationId = Guid.NewGuid().ToString(),
                        RequestCreatedAt     = DateTime.Now
                    },
                    Body = new ImageObject()
                    {
                        CreatedAt   = DateTime.Now,
                        Doctype     = DocTypes.News,
                        ContentUrl  = inputObject.ContentUrl,
                        HostPageUrl = inputObject.HostPageUrl,
                        ImageId     = $"manual-{Guid.NewGuid().ToString()}",
                        Partition   = showId
                    }
                };

                try
                {
                    await _showDomain.CreateImageObject(message, log);
                }
                catch (Exception ex)
                {
                    log.LogInformation($"[Request Correlation ID: {message.Headers.RequestCorrelationId}] :: Creation of News Article {message.Body.Name} failed :: {ex.Message}");
                    return(new BadRequestObjectResult($"There was an error: {ex.Message}"));
                }

                log.LogInformation($"[Request Correlation ID: {message.Headers.RequestCorrelationId}] :: Creation of News Article {message.Body.Name} succeeded");
                return(new OkResult());
            }
            else
            {
                return(new UnauthorizedResult());
            }
        }
Ejemplo n.º 2
0
 public async Task <bool> DeleteImageAsync(ImageObject _object)
 {
     return(await _imageStore.DeleteAsync(_object));
 }
Ejemplo n.º 3
0
 public async Task CreateImageAsync(MessageObject <ImageObject> _message)
 {
     ImageObject _object = _message.Body;
     await _imageStore.CreateAsync(_object);
 }