User creation polling endpoint

pull/4138/head
Juan Ignacio Sánchez Lara 9 years ago
parent 7a166059c5
commit 73a9df8564

@ -0,0 +1,24 @@
module Carto
module Api
class UserCreationPresenter
def initialize(user_creation)
@user_creation = user_creation
end
def to_poro
{
id: @user_creation.id,
username: @user_creation.username,
email: @user_creation.email,
organization_id: @user_creation.organization_id,
google_sign_in: @user_creation.google_sign_in,
state: @user_creation.state,
created_at: @user_creation.created_at,
updated_at: @user_creation.updated_at
}
end
end
end
end

@ -0,0 +1,27 @@
# encoding: UTF-8
require_relative 'user_creation_presenter'
module Carto
module Api
class UserCreationsController < ::Api::ApplicationController
skip_before_filter :api_authorization_required
ssl_required :show
before_filter :load_user_creation, only: :show
def show
render_jsonp(UserCreationPresenter.new(@user_creation).to_poro)
end
private
def load_user_creation
@user_creation = Carto::UserCreation.where(id: params[:id]).first
render_404 and return false unless @user_creation
end
end
end
end

@ -31,9 +31,9 @@ class UsersController < ApplicationController
@user.organization = @organization
if @user.valid?
user_creation = Carto::UserCreation.new_user_signup(@user)
user_creation.save
::Resque.enqueue(::Resque::UserJobs::Signup::NewUser, user_creation.id)
@user_creation = Carto::UserCreation.new_user_signup(@user)
@user_creation.save
::Resque.enqueue(::Resque::UserJobs::Signup::NewUser, @user_creation.id)
flash.now[:success] = 'User creation in progress'
render action: 'signup_confirmation'
else

@ -1 +1,2 @@
<%= render :partial => 'shared/flash_message' %>
User creation id: <%= @user_creation.id %>

@ -344,6 +344,9 @@ CartoDB::Application.routes.draw do
# Organization (new endpoint that deprecates old, unused one, so v1)
get '(/user/:user_domain)(/u/:user_domain)/api/v1/organization/:id/users' => 'organizations#users', as: :api_v1_organization_users, constraints: { id: /[^\/]+/ }
# User creations
get '(/user/:user_domain)(/u/:user_domain)/api/v1/user_creations/:id' => 'user_creations#show', as: :api_v1_user_creations_show, constraints: { id: /[^\/]+/ }
end
scope :module => 'api/json', :format => :json do

Loading…
Cancel
Save