Newsbot.Collector/Newsbot.Collector.Api/Controllers/CodeProjectController.cs
James Tombleson 117653c001
Features/add code projects watcher (#26)
* Migration added to update Articles to define if Release or Commit

* CodeProjectWatcher Job was created from GithubWatcher as this will target services like gitlab and also gitea.

* article model was updated to reflect migration changes

* Added CodeProjects to startup

* Seed was updated with CodeProjects and some new defaults

* Added Delete call for Sources

* Added a route to cleanup all records based on SourceId

* Added CodeProject const values to load from config

* minor changes to the rss controller

* Added codeprojects to the routes to trigger the job
2023-04-10 22:59:13 -07:00

33 lines
970 B
C#

using Hangfire;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Newsbot.Collector.Domain.Models.Config;
using Newsbot.Collector.Services.Jobs;
namespace Newsbot.Collector.Api.Controllers;
[ApiController]
[Route("api/codeprojects")]
public class CodeProjectController
{
private readonly ConfigSectionConnectionStrings _connectionStrings;
private readonly ILogger<CodeProjectController> _logger;
public CodeProjectController(ILogger<CodeProjectController> logger,
IOptions<ConfigSectionConnectionStrings> settings)
{
_logger = logger;
_connectionStrings = settings.Value;
}
[HttpPost("check")]
public void PullNow()
{
BackgroundJob.Enqueue<CodeProjectWatcherJob>(x => x.InitAndExecute(new CodeProjectWatcherJobOptions
{
ConnectionStrings = _connectionStrings,
FeaturePullReleases = true,
FeaturePullCommits = true
}));
}
}