
com.hubspot.blazar.resources.BuildHistoryResource Maven / Gradle / Ivy
The newest version!
package com.hubspot.blazar.resources;
import com.google.common.base.Optional;
import com.hubspot.blazar.base.ModuleBuild;
import com.hubspot.blazar.base.RepositoryBuild;
import com.hubspot.blazar.data.service.ModuleBuildService;
import com.hubspot.blazar.data.service.RepositoryBuildService;
import com.hubspot.jackson.jaxrs.PropertyFiltering;
import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.List;
@Path("/builds/history")
@Produces(MediaType.APPLICATION_JSON)
public class BuildHistoryResource {
private final RepositoryBuildService repositoryBuildService;
private final ModuleBuildService moduleBuildService;
@Inject
public BuildHistoryResource(RepositoryBuildService repositoryBuildService, ModuleBuildService moduleBuildService) {
this.repositoryBuildService = repositoryBuildService;
this.moduleBuildService = moduleBuildService;
}
@GET
@Path("/branch/{id}")
@PropertyFiltering
public List getByBranch(@PathParam("id") int branchId) {
return repositoryBuildService.getByBranch(branchId);
}
@GET
@Path("/branch/{id}/build/{number}")
@PropertyFiltering
public Optional getByBranch(@PathParam("id") int branchId, @PathParam("number") int buildNumber) {
return repositoryBuildService.getByBranchAndNumber(branchId, buildNumber);
}
@GET
@Path("/module/{id}")
@PropertyFiltering
public List getByModule(@PathParam("id") int moduleId) {
return moduleBuildService.getByModule(moduleId);
}
@GET
@Path("/module/{id}/build/{number}")
@PropertyFiltering
public Optional getByModule(@PathParam("id") int moduleId, @PathParam("number") int buildNumber) {
return moduleBuildService.getByModuleAndNumber(moduleId, buildNumber);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy