selectTidbRuntimeCredentials function

Map<String, dynamic> selectTidbRuntimeCredentials(
  1. Map<String, dynamic> state,
  2. String environment,
  3. String cluster
)

Selects only the runtime identity for the requested cluster.

Implementation

Map<String, dynamic> selectTidbRuntimeCredentials(
    Map<String, dynamic> state, String environment, String cluster) {
  final tidb = state.getAsMap("cloudflare").getAsMap("tidb");
  final legacyCluster = tidb
      .getAsMap("migration_users")
      .getAsMap(environment)
      .get("cluster_id", "")
      .toString();
  final clusterCredentials = tidb
      .getAsMap("runtime_users_by_cluster")
      .getAsMap(environment)
      .getAsMap(cluster);
  if (clusterCredentials.isNotEmpty ||
      (legacyCluster.isNotEmpty && legacyCluster != cluster)) {
    return clusterCredentials;
  }
  return tidb.getAsMap("runtime_users").getAsMap(environment);
}