# frozen_string_literal: true module PlatformSdk module Edfi # IdMapper::Client class Client attr_reader :token, :domain, :conn def initialize(base_url, auth_client) @base_url ||= base_url @auth_client = auth_client @conn = Faraday.new(@base_url) do |faraday| faraday.headers = headers faraday.adapter Faraday.default_adapter faraday.response :json, content_type: /\bjson$/ faraday.response :raise_error end end def get_student_programs(uid) response = @conn.get("/ed-fi/v5.1.0/api/data/v3/ed-fi/studentProgramAssociations?studentUniqueId=#{uid}") response.body end private def headers { "Authorization" => "Bearer #{@auth_client.auth_token}", "Content-Type" => "application/json", "Accept" => "application/json" } end end end end