func SearchEndpoints()

in pkg/graphql/metadata/metadata.go [115:143]


func SearchEndpoints(cliCtx context.Context, serviceID, keyword string, limit int, duration *api.Duration) ([]api.Endpoint, error) {
	var response map[string][]api.Endpoint

	majorVersion, minorVersion, err := BackendVersion(cliCtx)
	if err != nil {
		return nil, err
	}
	var request *graphql.Request
	if majorVersion >= 10 && minorVersion >= 2 {
		request = graphql.NewRequest(assets.Read("graphqls/metadata/v2/FindEndpointsWithDuration.graphql"))
		request.Var("serviceId", serviceID)
		request.Var("keyword", keyword)
		request.Var("limit", limit)
		request.Var("duration", duration)
	} else if majorVersion >= 9 {
		request = graphql.NewRequest(assets.Read("graphqls/metadata/v2/FindEndpointsWithoutDuration.graphql"))
		request.Var("serviceId", serviceID)
		request.Var("keyword", keyword)
		request.Var("limit", limit)
	} else {
		request = graphql.NewRequest(assets.Read("graphqls/metadata/v1/SearchEndpoints.graphql"))
		request.Var("serviceId", serviceID)
		request.Var("keyword", keyword)
		request.Var("limit", limit)
	}

	err = client.ExecuteQuery(cliCtx, request, &response)
	return response["result"], err
}