package io.delphi.qa.auto.awsmfrw.common_baby;

import io.delphi.qa.auto.awsmfrw.common_baby.delphi.java.EnDelphiApiInvalidPathParamItems;
import io.delphi.qa.auto.awsmfrw.models.api.rest.v3.methods.params.ICanFetchArtistIds;
import io.delphi.qa.auto.awsmfrw.models.api.rest.v3.methods.params.ICanFetchIsrcs;

import java.util.HashMap;

public interface ICanFetchPathParams extends ICanFetchIsrcs, ICanFetchArtistIds {

  default HashMap<String, String> fetchPathParamIsrc(String pathParamValue) {
    return new HashMap<String, String>() {
      {
        put(EnDelphiApiPathParamNameList.ISRC.get(), pathParamValue);
      }
    };
  }

  default HashMap<String, String> fetchPathParamVideoIsrc(String pathParamValue) {
    return new HashMap<String, String>() {
      {
        put(EnDelphiApiPathParamNameList.ISRC.get(), pathParamValue);
      }
    };
  }

  default HashMap<String, String> fetchPathParamArtistId(String pathParamValue) {
    return new HashMap<String, String>() {
      {
        put(EnDelphiApiPathParamNameList.ARTIST_ID.get(), pathParamValue);
      }
    };
  }

  default HashMap<String, String> fetchPathParamInvalid(
      EnDelphiApiPathParamNameList pathParamNameListItem,
      EnDelphiApiInvalidPathParamItems pathParamValue) {
    return new HashMap<String, String>() {
      {
        put(pathParamNameListItem.get(), pathParamValue.get());
      }
    };
  }
}
