website/Website/Controllers/HomeController.cs

31 lines
885 B
C#

using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Website.Data;
using Website.ViewModels;
using System.Linq;
namespace Website.Controllers {
public class HomeController : Controller {
private readonly IBlogApi _blogApi;
private readonly GitServerApi _api;
public HomeController(IBlogApi blogApi, GitServerApi api) {
_api = api;
_blogApi = blogApi;
}
public async Task<IActionResult> Index() {
var post = await _blogApi.GetLatestPostAsync();
var repo = (await _api.GetRepositories()).First();
var branch = (await _api.GetBranches(repo.Name)).First();
var commit = await _api.GetCommit(repo.Name, branch.Commit.Id);
var model = new HomeViewModel {
BlogPost = new BlogPostViewModel(post, false),
GitCommit = new GitCommitViewModel(repo, branch, commit)
};
return View(model);
}
}
}