diff --git a/ShareBook/ShareBook.Api/Controllers/OperationsController.cs b/ShareBook/ShareBook.Api/Controllers/OperationsController.cs index c278f27a..6152daa3 100644 --- a/ShareBook/ShareBook.Api/Controllers/OperationsController.cs +++ b/ShareBook/ShareBook.Api/Controllers/OperationsController.cs @@ -26,15 +26,17 @@ public class OperationsController : Controller protected string _validToken; readonly IEmailService _emailService; private readonly IWebHostEnvironment _env; - private readonly IMemoryCache _cache; + private readonly IMemoryCache _cache; + private readonly IMeetupService _meetupService; - public OperationsController(IJobExecutor executor, IOptions settings, IEmailService emailService, IWebHostEnvironment env, IMemoryCache memoryCache) + public OperationsController(IJobExecutor executor, IOptions settings, IEmailService emailService, IWebHostEnvironment env, IMemoryCache memoryCache, IMeetupService meetupService) { _executor = executor; _validToken = settings.Value.JobExecutorToken; _emailService = emailService; _env = env; - _cache = memoryCache; + _cache = memoryCache; + _meetupService = meetupService; } [HttpGet] @@ -85,6 +87,15 @@ public async Task EmailTestAsync([FromBody] EmailTestVM emailVM) await _emailService.TestAsync(emailVM.Email, emailVM.Name); return Ok(); + } + + [HttpPost("JobTest")] + [Authorize("Bearer")] + [AuthorizationFilter(Permissions.Permission.ApproveBook)] // adm + public async Task JobTestAsync() + { + var logs = await _meetupService.FetchMeetupsAsync(); + return Ok(logs); } protected bool _IsValidJobToken() => Request.Headers["Authorization"].ToString() == _validToken; diff --git a/ShareBook/ShareBook.Service/Meetup/MeetupService.cs b/ShareBook/ShareBook.Service/Meetup/MeetupService.cs index f421201e..f5501e64 100644 --- a/ShareBook/ShareBook.Service/Meetup/MeetupService.cs +++ b/ShareBook/ShareBook.Service/Meetup/MeetupService.cs @@ -68,6 +68,8 @@ public async Task> FetchMeetupsAsync() else { logs.Add($"O vídeo '{title}' já estava no banco de dados. Não fiz nada."); + logs.Add($"Paranda de carregar meetups. Apenas o delta interessa. ( poupando cota api you tube )"); + break; } } @@ -170,7 +172,7 @@ public async Task> SearchAsync(string title) { return await _repository.Get() .Where(m => m.Active && (m.Title.Contains(title) || m.Description.Contains(title))) - .OrderByDescending(m => m.CreationDate) + .OrderByDescending(m => m.StartDate) .ToListAsync(); } } diff --git a/ShareBook/Sharebook.Jobs/Jobs/4 - MeetupSearch.cs b/ShareBook/Sharebook.Jobs/Jobs/4 - MeetupSearch.cs index 505cef94..0610cdab 100644 --- a/ShareBook/Sharebook.Jobs/Jobs/4 - MeetupSearch.cs +++ b/ShareBook/Sharebook.Jobs/Jobs/4 - MeetupSearch.cs @@ -20,7 +20,7 @@ public MeetupSearch(IJobHistoryRepository jobHistoryRepo, IMeetupService meetupS JobName = "MeetupSearch"; Description = "Atualiza a lista de Meetups do Sharebook com base no youtube."; Interval = Interval.Dayly; - Active = false; + Active = true; BestTimeToExecute = new TimeSpan(1, 0, 0); _configuration = configuration; } diff --git a/ShareBook/Sharebook.Jobs/Jobs/6 - MailSupressListUpdate.cs b/ShareBook/Sharebook.Jobs/Jobs/6 - MailSupressListUpdate.cs index 220c19bf..9e40c078 100644 --- a/ShareBook/Sharebook.Jobs/Jobs/6 - MailSupressListUpdate.cs +++ b/ShareBook/Sharebook.Jobs/Jobs/6 - MailSupressListUpdate.cs @@ -20,7 +20,7 @@ public MailSupressListUpdate( Description = @"Atualiza a lista de emails suprimidos. Essa lista serve para manter boa reputação do nosso mailling. Além de ser um requisito da AWS."; Interval = Interval.Dayly; - Active = true; + Active = false; BestTimeToExecute = new TimeSpan(2, 0, 0); _emailService = emailService;