# frozen_string_literal: true module Gitlab module PhabricatorImport module Conduit class User MAX_PAGE_SIZE = 100 def initialize(phabricator_url:, api_token:) @client = Client.new(phabricator_url, api_token) end def users(phids) phids.each_slice(MAX_PAGE_SIZE).map { |limited_phids| get_page(limited_phids) } end private def get_page(phids) UsersResponse.new(get_users(phids)) end def get_users(phids) client.get('user.search', params: { constraints: { phids: phids } }) end attr_reader :client end end end end