• Author Maintainer

    we could specify the connector as a symbol or as a class for stricter typing:

    SearchClient.new(connector: :elastic)
    SearchClient.new(connector: ElasticConnector)
    
    case :connector_type
    when :elastic then Gitlab::Search::ElasticConnector
    end
  • Author Maintainer
    class IssueSearchEndpoint
      def initialize
        @client = init_search_client
      end
    
      private
    
      def init_search_client
        # logic
        conn = if ee?
          ElasticConnector
        else
          IssueFinderConnector
        end
    
        SearchClient.new(connector: conn)
      end
    end
    
    Edited by John Mason
  • Author Maintainer
    class ConnectorDetector
      def use_advanced_search?(params)
        # logic
        true
      end
    end
    
  • Author Maintainer
    IssueFinderConnector
    
    class IssueFinderConnector
      def search(params, ctx)
        # logic on handling params would go here
        IssueFinder.new(ctx.current_user, params).execute
      end
    end
    Edited by John Mason
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment