class Google::Workspace::DetailService < Google::Workspace::ApplicationService
  def customer_id
    @customer_id ||= request(:get, customer_endpoint)[:customerId]
  end

  def domains
    request(:get, domain_endpoint)[:domains]
  end

  private
    def customer_endpoint
      "https://admin.googleapis.com/admin/directory/v1/users/#{@config.email}"
    end

    def domain_endpoint
      "https://admin.googleapis.com/admin/directory/v1/customer/#{customer_id}/domains"
    end

    def scopes
      [
        'https://www.googleapis.com/auth/admin.directory.user',
        'https://www.googleapis.com/auth/admin.directory.domain'
      ]
    end
end
