Sha256: c0720e204442c14423bf7abc70946bfda0784848980d54800cc6928cd0fbce82
Contents?: true
Size: 977 Bytes
Versions: 51
Compression:
Stored size: 977 Bytes
Contents
module Api class RolesController < BaseController include WithUserParams before_action :set_slug! before_action :set_course! before_action :set_user!, except: :create before_action :authorize_janitor! def create @user = User.create_if_necessary(user_params) @user.attach! role, @course render json: @user end def attach @user.attach! role, @course head :ok end def detach @user.detach! role, @course head :ok end private def role raise 'Not Implemented' end def user_params params.require(role).permit(*permissible_params) end def permissible_params super + [:image_url, :email, :uid] end def set_course! @course = Course.find_by!(slug: @slug) end def set_user! @user = User.find_by!(uid: params[:uid]) end def set_slug! @slug = Mumukit::Auth::Slug.join_s params.to_unsafe_h end end end
Version data entries
51 entries across 51 versions & 1 rubygems