class BindUsersController < ApplicationController

  def create
    Rails.logger.debug "--------------开始绑定用户------------"
    Rails.logger.debug "--------------params: #{params.to_unsafe_h}"
    tip_exception '系统错误' if session[:unionid].blank?

    bind_user = User.try_to_login(params[:username], params[:password])
    tip_exception '用户名或者密码错误' if bind_user.blank?
    tip_exception '用户名或者密码错误' unless bind_user.check_password?(params[:password].to_s)
    tip_exception '参数错误' unless ["qq", "wechat", "gitee", "github", "educoder", "acge"].include?(params[:type].to_s)
    tip_exception '该账号已被绑定，请更换其他账号进行绑定' if bind_user.bind_open_user?(params[:type].to_s)

    "OpenUsers::#{params[:type].to_s.capitalize}".constantize.create!(user: bind_user, uid: session[:unionid])
    successful_authentication(bind_user)
    @user = bind_user
  end

  def new_user
    current_user
  end

  private

  def create_params
    params.permit(:username, :password, :type, :not_bind)
  end
end