diff --git a/Wabbajack.BuildServer/Controllers/Jobs.cs b/Wabbajack.BuildServer/Controllers/Jobs.cs index fa5a34bd..4079aada 100644 --- a/Wabbajack.BuildServer/Controllers/Jobs.cs +++ b/Wabbajack.BuildServer/Controllers/Jobs.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; @@ -26,5 +27,15 @@ namespace Wabbajack.BuildServer.Controllers .OrderByDescending(j => j.Priority) .ToListAsync(); } + + [HttpGet] + [Route("enqueue_job/{JobName}")] + public async Task EnqueueJob(string JobName) + { + var jobtype = AJobPayload.NameToType[JobName]; + var job = new Job{Priority = Job.JobPriority.High, Payload = (AJobPayload)jobtype.GetConstructor(new Type[0]).Invoke(new object?[0])}; + await Db.Jobs.InsertOneAsync(job); + return job.Id; + } } }