package com.tsi.navi.api;

import com.tsi.navi.api.auth.AuthentificationResult;
import com.tsi.navi.api.node.NodeStatusResult;
import com.tsi.navi.api.register.RegisterDevice;
import com.tsi.navi.api.register.RegisterDeviceResult;

import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Streaming;

public interface TsiApiService {

    @GET("/app/nodes/{deviceId}")
    Call<NodeStatusResult> getNodeStatusList(@Path("deviceId") String deviceId);

    @GET("/app/auth/{deviceId}")
    Call<AuthentificationResult> getDeviceAuth(@Path("deviceId") String deviceId);

    @POST("/app/devices")
    Call<RegisterDeviceResult> registerDeviceInfo(@Body RegisterDevice registerDeviceInfo);

    @Streaming
    @GET("/app/download/{fileName}")
    Call<ResponseBody> download(@Path("fileName") String fileName);

}
