Files
fizzy/app/controllers/signups/completions_controller.rb
T
Rosa Gutierrez 63d9f29b1e Return internal account ID after signup completion
This matches what we return from `/my/identity` endpoint for each
account.
2026-01-30 13:41:37 +01:00

43 lines
1012 B
Ruby

class Signups::CompletionsController < ApplicationController
layout "public"
disallow_account_scope
def new
@signup = Signup.new(identity: Current.identity)
end
def create
@signup = Signup.new(signup_params)
if @signup.complete
welcome_to_account
else
invalid_signup
end
end
private
def signup_params
params.expect(signup: %i[ full_name ]).with_defaults(identity: Current.identity)
end
def welcome_to_account
respond_to do |format|
format.html do
flash[:welcome_letter] = true
redirect_to landing_url(script_name: @signup.account.slug)
end
format.json { render json: { account_id: @signup.account.id }, status: :created }
end
end
def invalid_signup
respond_to do |format|
format.html { render :new, status: :unprocessable_entity }
format.json { render json: { errors: @signup.errors.full_messages }, status: :unprocessable_entity }
end
end
end