001package com.plivo.api.models.multipartycall;
002
003import com.fasterxml.jackson.annotation.JsonIgnore;
004import com.plivo.api.exceptions.PlivoValidationException;
005import com.plivo.api.models.base.ListResponse;
006import com.plivo.api.models.base.VoiceLister;
007import retrofit2.Call;
008
009public class MultiPartyCallParticipantList extends VoiceLister<MultiPartyCallParticipant> {
010
011  @JsonIgnore
012  private final String mpcId;
013  private String callUuid;
014
015  public MultiPartyCallParticipantList(String mpcId) {
016    this.mpcId = mpcId;
017  }
018
019  public String callUuid() {
020    return callUuid;
021  }
022
023  public MultiPartyCallParticipantList callUuid(String callUuid) {
024    this.callUuid = callUuid;
025    return this;
026  }
027
028  @Override
029  protected Call<ListResponse<MultiPartyCallParticipant>> obtainCall() throws PlivoValidationException {
030    MultiPartyCallUtils.validMultiPartyCallId(mpcId);
031    return client().getVoiceApiService().mpcListParticipants(client().getAuthId(), mpcId, toMap());
032  }
033
034  @Override
035  protected Call<ListResponse<MultiPartyCallParticipant>> obtainFallback1Call() throws PlivoValidationException {
036    MultiPartyCallUtils.validMultiPartyCallId(mpcId);
037    return client().getVoiceFallback1Service().mpcListParticipants(client().getAuthId(), mpcId, toMap());
038  }
039
040  @Override
041  protected Call<ListResponse<MultiPartyCallParticipant>> obtainFallback2Call() throws PlivoValidationException {
042    MultiPartyCallUtils.validMultiPartyCallId(mpcId);
043    return client().getVoiceFallback2Service().mpcListParticipants(client().getAuthId(), mpcId, toMap());
044  }
045}