package com.example.audiovisualrecord.utils.api;

import com.example.audiovisualrecord.utils.api.apidata.CORequest.CORequest;
import com.example.audiovisualrecord.utils.api.apidata.CORequest.COResultList;
import com.example.audiovisualrecord.utils.api.apidata.login.LoginRequest;
import com.example.audiovisualrecord.utils.api.apidata.login.LoginResponse;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPERequest;
import com.example.audiovisualrecord.utils.api.apidata.searchtype.TYPEResultList;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDRequest;
import com.example.audiovisualrecord.utils.api.searcheqkd.EQKDResultList;
import com.example.audiovisualrecord.utils.api.searchmntfct.MNTFCTRequest;
import com.example.audiovisualrecord.utils.api.searchmntfct.MNTFCTResultList;
import com.example.audiovisualrecord.utils.api.searchpmfct.PMFCTRequest;
import com.example.audiovisualrecord.utils.api.searchpmfct.PMFCTResultList;

import io.reactivex.Observable;
import retrofit2.http.Body;
import retrofit2.http.POST;
import retrofit2.http.Url;

public interface ApiService {
    @POST
    Observable<COResultList> getCO(@Url String url, @Body CORequest mCORequest);
    @POST
    Observable<MNTFCTResultList> getPZ(@Url String url, @Body MNTFCTRequest mMNTFCTRequest);
    @POST
    Observable<PMFCTResultList> getDP(@Url String url, @Body PMFCTRequest mPMFCTRequest);
    @POST
    Observable<EQKDResultList> getEQKD(@Url String url, @Body EQKDRequest mEQKDRequest);
    @POST
    Observable<TYPEResultList>getTYPE(@Url String url, @Body TYPERequest mTypeRequest);
    @POST
    Observable<LoginResponse> onLogin(@Url String url, @Body LoginRequest mLoginRequest);
}
