def getEnvPrefixByBranch(branch) {
  switch(branch) {
    case "master":
    case ~/^.*release.*$/:
      return "stage"
    case "develop":
      return "dev"
    case "qa":
      return "qa"
    case "production":
      return "prod"
    case "feature/DEC-7868-ag-grid-media-plan-v2":
      return "dev2"
    default:
      return "dev"
  }
}

def getClusterPrefixByBranch(branch) {
  switch(branch) {
    case "master":
    case ~/^.*release.*$/:
      return "stage"
    case "develop":
      return "dev"
    case "qa":
      return "qa"
    case "production":
      return "prod"
    default:
      return "dev"
  }
}

def getBucketNamePrefixByBranch(branch) {
  switch(branch) {
    case "master":
    case ~/^.*release.*$/:
      return "staging"
    case "develop":
      return "dev"
    case "qa":
      return "qa"
    case "production":
      return "prod"
    case "feature/DEC-7868-ag-grid-media-plan-v2":
      return "dev2"
    default:
      return "dev"
  }
}

def getAmplitudeKeyByEnv(environment) {
  switch (environment) {
    case "dev":
    case "dev2":
    case "stage":
    case "qa":
      return "e26d1c15a7cfb28b9874d695ca483540"
    case "prod":
      return "7c0d2db47e9ae5e80c1f108cd3f6a7ba"
    default:
      return "e26d1c15a7cfb28b9874d695ca483540"
  }
}

def getLogRocketKeyByEnv(environment) {
  return "se4xap/mct-staging"
}

def getApolloLinkByEnv(environment) {
  switch (environment) {
    case "prod":
      return "https://apollo.stream/"
    default:
      return "https://qa.apollo.stream/"
  }
}

def getBranchesToDeploy() {
  return [
    "master",
    "develop",
    "release",
    "qa",
    "uat",
    "production",
    "feature/DEC-7868-ag-grid-media-plan-v2",
  ]
}

def getAuth0DomainByEnv(environment) {
  switch (environment) {
    case 'prod':
      return 'accounts.apollo.stream'
    default:
      return "dev-login.apollo.stream"
  }
}

def getAuth0ClientIdByEnv(environment) {
  switch (environment) {
    case 'prod':
      return '5O4vgWIOzQnAfqhQXvi71Xe5jHxmYxel'
    default:
      return "nBD9vxb4keJClp0cn8rTFCSEjZTO7KYz"
  }
}
def getAuth0ApiAudienceByEnv(environment) {
  switch (environment) {
    case 'prod':
      return 'https://decibel-api/'
    default:
      return "http://marketing-lb-1273041322.us-east-1.elb.amazonaws.com/api"
  }
}

def getIntercomIdByEnv(environment) {
  switch (environment) {
    case 'prod':
      return 'hmfnwger'
     default:
      return 'mp9lke99'
  }
}

def getAtlasAuthUrlByEnv(environment) {
  switch (environment) {
    case 'prod':
      return 'https://auth.decibel.stream'
    case 'stage':
      return 'https://stage-auth.decibel.stream'
    case 'qa':
      return 'https://qa-auth.decibel.stream'
    default:
      return 'https://dev-auth.decibel.stream'
  }
}

def getAtlasTokenUrlByEnv(environment) {
  switch (environment) {
    case 'prod':
      return 'https://um.atlas.stream'
    case 'stage':
      return 'https://uat-um.atlas.stream'
    case 'qa':
      return 'https://qa-um.atlas.stream'
    default:
      return 'https://dev-um.atlas.stream'
  }
}

// TODO: replace with real values if needed.
def getAtlasTokenClientIdByEnv(environment) {
  switch (environment) {
    case 'prod':
      return 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
    case 'stage':
      return 'f2d303da-cd0a-4286-ad4b-9ac0537a4334'
    case 'qa':
      return 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
    default:
      return '89dc40b1-e9a4-4644-a2eb-1878b2a1f0a4'
  }
}