package org.whispersystems.bithub.controllers;
import com.codahale.metrics.annotation.Timed;
import org.whispersystems.bithub.storage.CacheManager;
import org.whispersystems.bithub.views.DashboardView;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/")
public class DashboardController {
private final CacheManager cacheManager;
private final String organizationName;
private final String donationUrl;
public DashboardController(String organizationName, String donationUrl,
CacheManager cacheManager)
{
this.organizationName = organizationName;
this.donationUrl = donationUrl;
this.cacheManager = cacheManager;
}
@Timed
@GET
@Produces(MediaType.TEXT_HTML)
public DashboardView getDashboard() {
return new DashboardView(organizationName, donationUrl,
cacheManager.getCurrentPaymentAmount(),
cacheManager.getRepositories(),
cacheManager.getRecentTransactions());
}
}