class School::EdFi::Indiana::DescriptorsController < ApplicationController
  include EdFi::IndianaHelper

  def index
    data = descriptors.map { |d| descriptor_props(d) }
    data.sort_by! do |arr|
      ActiveSupport::Inflector.transliterate(arr[:text].downcase) if arr[:text].present?
    end

    render_success :ok, json: data
  end

  private
    def descriptors
      descriptor_service(
        current_school_year.id,
        descriptor: params[:descriptor],
        query: params[:query],
        values: params[:values]
      )
    end

    def descriptor_props(descriptor)
      short_description = params.key?(:short_description) ? descriptor['shortDescription'] : nil

      descriptor.tap do |props|
        props[:value] = descriptor['id']
        props[:text] = short_description || descriptor['description'] || descriptor['name']
      end
    end
end
