package it.integry.integrywmsnative.core.REST.consumers;

import com.google.gson.JsonObject;

import java.util.List;

import it.integry.integrywmsnative.core.REST.model.DistribuzioneColloDTO;
import it.integry.integrywmsnative.core.REST.model.ServiceRESTResponse;
import it.integry.integrywmsnative.core.model.MtbColr;
import it.integry.integrywmsnative.core.model.MtbColt;
import it.integry.integrywmsnative.core.model.MtbDepoPosizione;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

public interface ColliMagazzinoRESTConsumerService {

    @GET("getAvailablePosizioni")
    Call<ServiceRESTResponse<List<MtbDepoPosizione>>> getAvailablePosizioni(@Query("codMdep") String codMdep);

    @POST("SM2DistribuzioneRigheCollo")
    Call<ServiceRESTResponse<JsonObject>> distribuisciCollo(@Body DistribuzioneColloDTO distribuzioneCollo);

    @POST("getColloByBarcode")
    Call<ServiceRESTResponse<MtbColt>> getColloByBarcode(@Query("codBarreCollo") String sscc, @Query("onlyResiduo") boolean onlyResiduo, @Query("throwExcIfNull") boolean throwExcIfNull);

}
