package ogloszenia.klient_proxy;

import java.math.BigDecimal;
import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;

import ogloszenia.model.Samochodowe;

// Po stronie klienta mam interfejs, który odpowiada klasie z implementacją na serwerze:
//  * te same metody z tymi samymi parametrami i wynikami
//  * zachowane wszystkie adnotacje REST

@Path("/ogloszenia.json")
@Produces("application/json")
@Consumes("application/json")
public interface IOgloszenia {

	@GET
	List<Samochodowe> odczytajWszystkie();
	
	@GET
	@Path("/{id}")
	Samochodowe odczytajJedno(
			@PathParam("id") int idOgloszenia);
	
	@GET
	@Path("/{id}/cena")
	BigDecimal getCena(
			@PathParam("id") int idOgloszenia);
	
	@PUT
	@Path("/{id}/cena")
	public void setCena(@PathParam("id") int idOgloszenia,
			BigDecimal nowaCena);
	
	@GET
	@Path("/{id}/foto")
	@Produces("image/jpeg")
	public byte[] getFoto(
			@PathParam("id") int idOgloszenia);
	
	@POST
	public void zapiszOgloszenie(Samochodowe ogloszenie);
	
	@DELETE
	@Path("/{id}")
	public void usunOgloszenie(@PathParam("id") int idOgloszenia);
}
