Sha256: 708d03c9c0bef1b4c18dd0ee69907b71703de966f9540f6b578cf08c6f9b76c5
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
module InfinumId module Api class WebhooksController < Api::BaseController def update_resource_callback return render_not_found unless resource resource.update(user_params) InfinumId::AfterResourceUpdate.call(resource, params[:user]) render json: { resource_name.underscore => 'updated' } end def create_resource_callback return render_already_exists if resource resource = resource_class.create(user_params.merge(provider: params[:provider])) InfinumId::AfterResourceCreate.call(resource, params[:user]) render json: { resource_name.underscore => 'created' } end private def user_params params.require(:user).permit(InfinumId.resource_attributes) end def resource @resource ||= resource_class.find_by(uid: user_params[:uid], provider: params[:provider]) || resource_class.find_by(email: user_params[:email]) end def render_not_found render json: { resource_name.underscore => 'not found' }, status: :not_found end def render_already_exists render json: { resource_name.underscore => 'already exists' }, status: :unprocessable_entity end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
infinum_id-1.6.0 | app/controllers/infinum_id/api/webhooks_controller.rb |