Sha256: 44dcad811620f04f4dbf0a61ba0564f387bca39db1cf446c3419f01a5593ea46
Contents?: true
Size: 1.14 KB
Versions: 5
Compression:
Stored size: 1.14 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]) 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
5 entries across 5 versions & 1 rubygems