public IActionResult Post(RadarrWebhookPayload webhookPayload) { logger.LogTrace(new EventId(), null, webhookPayload.ToString(), null); logger.LogInformation(JsonConvert.SerializeObject(webhookPayload)); switch (webhookPayload.EventType) { case "Download": case "Test": return(this.Ok(this.ProcessDownload(webhookPayload, null))); default: this.logger.LogInformation($"Request was not of type Download or Test"); return(StatusCode(400)); } }
private QueueResult ProcessDownload(RadarrWebhookPayload importPayload, PerformContext context) { context.WriteLine(JsonConvert.SerializeObject(importPayload)); if (importPayload.EventType == "Test") { return(new QueueResult() { TargetFilePath = "/test/path", JobId = BackgroundJob.Enqueue(() => this.downloadProcesserService.ConvertEpisode(importPayload, true, context)) }); } var path = importPayload.MovieFile.Path + "/" + importPayload.MovieFile.RelativePath; this.logger.LogInformation($"Received download process request title: {importPayload.Movie.Title} series: {importPayload.Movie.Id} path:{path}"); return(new QueueResult() { TargetFilePath = importPayload.MovieFile.Path, JobId = BackgroundJob.Enqueue(() => this.downloadProcesserService.ConvertEpisode(importPayload, false, context)) }); }