package org.oregami.resources; import com.google.inject.Inject; import io.dropwizard.auth.Auth; import org.oregami.data.TransliteratedStringDao; import org.oregami.entities.TransliteratedString; import org.oregami.entities.user.User; import org.oregami.service.TransliteratedStringService; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.util.List; @Path("/transliteratedString") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public class TransliteratedStringResource { @Inject private TransliteratedStringDao dao = null; @Inject private TransliteratedStringService service = null; public TransliteratedStringResource() { } @GET public List<TransliteratedString> list() { return dao.findAll(); } @GET @Path("/{id}") public Response get(@PathParam("id") String id) { return ResourceHelper.get(id, dao); } @GET @Path("/{id}/revisions") public Response getRevisions(@PathParam("id") String id) { return ResourceHelper.getRevisions(id, dao); } @GET @Path("/{id}/revisions/{revision}") public Response getRevision(@PathParam("id") String id, @PathParam("revision") String revision) { return ResourceHelper.getRevision(id, revision, dao); } @POST public Response create(@Auth User user, TransliteratedString entity) { return ResourceHelper.create(user, entity, service, this.getClass()); } @PUT @Path("{id}") public Response update(@Auth User user, @PathParam("id") String id, TransliteratedString entity) { return ResourceHelper.update(user, id, entity, service); } @DELETE @Path("{id}") public Response delete(@Auth User user, @PathParam("id") String id) { return ResourceHelper.delete(user, id, service); } }