28 lines
638 B
Ruby
28 lines
638 B
Ruby
# Copyright (C) 2024 Manuel Bustillo
|
|
|
|
class Users::RegistrationsController < Devise::RegistrationsController
|
|
clear_respond_to
|
|
respond_to :json
|
|
|
|
before_action :validate_captcha!, only: :create
|
|
|
|
def create
|
|
wedding = Wedding.create(wedding_params)
|
|
unless wedding.persisted?
|
|
render json: { errors: wedding.errors.full_messages }, status: :unprocessable_entity
|
|
return
|
|
end
|
|
|
|
ActsAsTenant.with_tenant(wedding) do
|
|
super do |user|
|
|
wedding.destroy unless user.persisted?
|
|
end
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def wedding_params
|
|
{ slug: params[:slug], **params.expect(wedding: :date) }
|
|
end
|
|
end |