public async Task <ActionResult> GetMapSolution([FromServices] IMazebotSolver solver, string sessionId, string mazeId) { var response = await solver.GetMapImage(sessionId, mazeId, true); if (response == null) { return(new NotFoundResult()); } return(new FileContentResult(response.Image, response.ContentType)); }
public async Task <ActionResult> GetStatusSummary([FromServices] IMazebotSolver solver, string sessionId) { var response = await solver.GetHistorySummary(sessionId); if (response?.Any() != true) { return(new NotFoundResult()); } return(new OkObjectResult(response)); }
public async Task <ActionResult> GetRaceStatus([FromServices] IMazebotSolver solver, string sessionId) { var response = await solver.GetRaceStatus(sessionId); if (response == null) { return(new NotFoundResult()); } return(new OkObjectResult(response)); }
public async Task <ActionResult> StartRace([FromServices] IMazebotSolver solver, [FromBody] MazebotSolverRaceRequest request) { var response = await solver.JoinRace(request); return(new OkObjectResult(response)); }
public async Task <ActionResult> SolveRandomMap([FromServices] IMazebotSolver solver, int?minSize = null, int?maxSize = null) { var response = await solver.SolveRandom(minSize, maxSize); return(new OkObjectResult(response)); }