CLOSER-Cohorts/archivist

View on GitHub
app/controllers/main_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

class MainController < ApplicationController
  def index
    user_count ||= User.all.size
    user_group_count ||= UserGroup.all.size
    unless user_count == 0 && user_group_count == 0
      render :index
    else
      render :first
    end
  end

  def setup
    begin
      if params.has_key?('su-email') &&
          params.has_key?('su-password') &&
          params.has_key?('su-confirm') &&
          params.has_key?('su-group')

        User.setup_initial_superuser params
      end
    rescue
      Rails.logger.error 'Could not create the initial superadmin.'
    end
    redirect_to '/'
  end

  def studies
    studies = ActiveRecord::Base.connection.execute('SELECT study, COUNT(*) FROM instruments GROUP BY study')
    render json: studies
  end

  def stats
    counts = {
        instruments: Instrument.all.size,
        questions: CcQuestion.all.size,
        variables: Variable.all.size,
        users: User.all.size
    }
    render json: counts
  end
end