package org.pluto.rest;

import java.util.List;

import javax.inject.Inject;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.pluto.delegate.AdjuntoDelegate;
import org.pluto.model.Adjunto;
import org.pluto.model.wrapper.UpdateWrapper;
import org.pluto.rest.annotation.Authentication;

@Path("adjunto")
@Authentication
public class AdjuntoRest {

	@Inject
	private AdjuntoDelegate adjuntoDelegate;

	@GET
	@Path("cuenta/{id}")
	@Produces(value = MediaType.APPLICATION_JSON)
	public List<Adjunto> getAdjuntosByCuenta(@PathParam("id") final Integer idCuenta) {
		return adjuntoDelegate.getAdjuntosByCuenta(idCuenta);
	}

	@POST
	@Path("/delete/{idAdjunto}")
	@Consumes(MediaType.APPLICATION_JSON)
	@Produces(MediaType.APPLICATION_JSON)
	public UpdateWrapper deleteAttachment(@PathParam("idAdjunto") final Integer idAdjunto) {
		return adjuntoDelegate.deleteAdjunto(idAdjunto);
	}
}
