func()

in api/api_datasource.go [86:117]


func (a *DatasourceApiService) GetFeatureDBDatasourceInfo(isTestMode bool, workspaceId string) (string, string, string, error) {

	featureDBType := "FeatureDB"
	request := paifeaturestore.ListDatasourcesRequest{
		Type:        &featureDBType,
		WorkspaceId: &workspaceId,
	}
	listDatasourcesResponse, err := a.client.ListDatasources(&a.client.instanceId, &request)
	if err != nil {
		return "", "", "", err
	}

	for _, datasource := range listDatasourcesResponse.Body.Datasources {
		if _, err := strconv.Atoi(*datasource.DatasourceId); err == nil {
			response, err := a.client.GetDatasource(&a.client.instanceId, datasource.DatasourceId)
			if err != nil {
				return "", "", "", err
			}
			var config map[string]string
			if err := json.Unmarshal([]byte(*response.Body.Config), &config); err == nil {
				if isTestMode {
					return config["fdb_public_address"], config["token"], "", nil
				} else {
					return config["fdb_vpc_address"], config["token"], config["fdb_vpc_plk_address"], nil
				}
			}
		}
	}

	return "", "", "", nil

}