Sha256: f5cd11176d5c4d0ebd1b475652c6d75cf989099d39335cca0ad891b9ac602a52
Contents?: true
Size: 1019 Bytes
Versions: 1
Compression:
Stored size: 1019 Bytes
Contents
module Api class WebhooksController < Api::BaseController def update_user_callback return render_not_found unless user user.update(user_params) InfinumId::AfterUserUpdate.call(user, params[:user]) render json: { user: 'updated' } end def create_user_callback return render_already_exists if user user = User.create(user_params.merge(provider: params[:provider])) InfinumId::AfterUserUpdate.call(user, params[:user]) render json: { user: 'created' } end private def user_params params.require(:user).permit( :uid, :email, :first_name, :last_name, :slack_username, :time_zone, :deactivated_at, :avatar_url ) end def user @user ||= User.find_by(uid: user_params[:uid]) end def render_not_found render json: { user: 'not found' }, status: :not_found end def render_already_exists render json: { user: 'already exists' }, status: :unprocessable_entity end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
infinum_id-1.0.0 | app/controllers/api/webhooks_controller.rb |