Merge pull request 'Refine registration endpoint' (#165) from remove-wedding-date into main
Some checks failed
Check usage of free licenses / check-licenses (push) Successful in 47s
Run unit tests / unit_tests (push) Successful in 2m0s
Build Nginx-based docker image / build-static-assets (push) Successful in 22m55s
Add copyright notice / copyright_notice (pull_request) Successful in 20m54s
Check usage of free licenses / check-licenses (pull_request) Successful in 16m0s
Run unit tests / unit_tests (pull_request) Successful in 27m57s
renovate/artifacts Artifact file update failure
Some checks failed
Check usage of free licenses / check-licenses (push) Successful in 47s
Run unit tests / unit_tests (push) Successful in 2m0s
Build Nginx-based docker image / build-static-assets (push) Successful in 22m55s
Add copyright notice / copyright_notice (pull_request) Successful in 20m54s
Check usage of free licenses / check-licenses (pull_request) Successful in 16m0s
Run unit tests / unit_tests (pull_request) Successful in 27m57s
renovate/artifacts Artifact file update failure
Reviewed-on: #165
This commit is contained in:
commit
278faa7319
@ -2,7 +2,7 @@
|
||||
|
||||
class CaptchaController < ApplicationController
|
||||
skip_before_action :authenticate_user!
|
||||
|
||||
skip_before_action :set_tenant
|
||||
def create
|
||||
id = LibreCaptcha.new.get_id
|
||||
render json: {
|
||||
@ -10,10 +10,4 @@ class CaptchaController < ApplicationController
|
||||
media_url: media_captcha_index_url(id:)
|
||||
}, status: :created
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_tenant
|
||||
ActsAsTenant.current_tenant = nil
|
||||
end
|
||||
end
|
||||
|
@ -7,7 +7,7 @@ class Users::RegistrationsController < Devise::RegistrationsController
|
||||
before_action :validate_captcha!, only: :create
|
||||
|
||||
def create
|
||||
wedding = Wedding.create(wedding_params)
|
||||
wedding = Wedding.create(slug: params[:slug])
|
||||
unless wedding.persisted?
|
||||
render json: { errors: wedding.errors.full_messages }, status: :unprocessable_entity
|
||||
return
|
||||
@ -22,7 +22,7 @@ class Users::RegistrationsController < Devise::RegistrationsController
|
||||
|
||||
private
|
||||
|
||||
def wedding_params
|
||||
{ slug: params[:slug], **params.expect(wedding: :date) }
|
||||
def set_tenant
|
||||
set_current_tenant(nil)
|
||||
end
|
||||
end
|
@ -5,7 +5,6 @@
|
||||
# Table name: weddings
|
||||
#
|
||||
# id :uuid not null, primary key
|
||||
# date :date not null
|
||||
# slug :string not null
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
@ -17,6 +16,5 @@
|
||||
class Wedding < ApplicationRecord
|
||||
SLUG_REGEX = /[a-z\d-]+/
|
||||
|
||||
validates :date, presence: true
|
||||
validates :slug, presence: true, uniqueness: true, format: { with: /\A#{SLUG_REGEX}\z/ }
|
||||
end
|
||||
|
@ -21,6 +21,8 @@ Rails.application.routes.draw do
|
||||
get :summary, on: :collection
|
||||
end
|
||||
resources :tables_arrangements, only: %i[index show]
|
||||
|
||||
root to: redirect("/%{slug}")
|
||||
end
|
||||
|
||||
resources :captcha, only: :create do
|
||||
@ -31,6 +33,4 @@ Rails.application.routes.draw do
|
||||
mount Rswag::Api::Engine => '/api-docs'
|
||||
|
||||
get 'up' => 'rails/health#show', as: :rails_health_check
|
||||
|
||||
root to: redirect('/dashboard')
|
||||
end
|
||||
|
7
db/migrate/20241207112305_remove_wedding_date.rb
Normal file
7
db/migrate/20241207112305_remove_wedding_date.rb
Normal file
@ -0,0 +1,7 @@
|
||||
# Copyright (C) 2024 Manuel Bustillo
|
||||
|
||||
class RemoveWeddingDate < ActiveRecord::Migration[8.0]
|
||||
def change
|
||||
remove_column :weddings, :date, :date, null: false
|
||||
end
|
||||
end
|
3
db/schema.rb
generated
3
db/schema.rb
generated
@ -12,7 +12,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[8.0].define(version: 2024_11_30_185731) do
|
||||
ActiveRecord::Schema[8.0].define(version: 2024_12_07_112305) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "pg_catalog.plpgsql"
|
||||
|
||||
@ -222,7 +222,6 @@ ActiveRecord::Schema[8.0].define(version: 2024_11_30_185731) do
|
||||
|
||||
create_table "weddings", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
|
||||
t.string "slug", null: false
|
||||
t.date "date", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["slug"], name: "index_weddings_on_slug", unique: true
|
||||
|
@ -11,7 +11,7 @@ ActsAsTenant.without_tenant do
|
||||
Wedding.delete_all
|
||||
end
|
||||
|
||||
wedding = Wedding.create!(slug: :default, date: 1.year.from_now)
|
||||
wedding = Wedding.create!(slug: :default)
|
||||
|
||||
ActsAsTenant.with_tenant(wedding) do
|
||||
Expense.create!(name: 'Photographer', amount: 3000, pricing_type: 'fixed')
|
||||
|
@ -3,6 +3,5 @@
|
||||
FactoryBot.define do
|
||||
factory :wedding do
|
||||
sequence(:slug) { |i| "wedding-#{i}" }
|
||||
date { 1.year.from_now }
|
||||
end
|
||||
end
|
||||
|
@ -24,13 +24,6 @@ RSpec.describe 'users/registrations', type: :request do
|
||||
password_confirmation: SwaggerResponseHelper::PASSWORD
|
||||
}
|
||||
},
|
||||
wedding: {
|
||||
type: :object,
|
||||
required: %i[date],
|
||||
properties: {
|
||||
date: { type: :string, format: :date},
|
||||
}
|
||||
},
|
||||
**Swagger::Schema::CAPTCHA
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user