diff --git a/app/controllers/captcha_controller.rb b/app/controllers/captcha_controller.rb index 4b7234a..351b324 100644 --- a/app/controllers/captcha_controller.rb +++ b/app/controllers/captcha_controller.rb @@ -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 diff --git a/app/controllers/users/registrations_controller.rb b/app/controllers/users/registrations_controller.rb index 4894d4b..0aae89d 100644 --- a/app/controllers/users/registrations_controller.rb +++ b/app/controllers/users/registrations_controller.rb @@ -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 \ No newline at end of file diff --git a/app/models/wedding.rb b/app/models/wedding.rb index cee2fb7..125c58e 100644 --- a/app/models/wedding.rb +++ b/app/models/wedding.rb @@ -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 diff --git a/config/routes.rb b/config/routes.rb index 1357d9c..bd26594 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -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 diff --git a/db/migrate/20241207112305_remove_wedding_date.rb b/db/migrate/20241207112305_remove_wedding_date.rb new file mode 100644 index 0000000..c810ee4 --- /dev/null +++ b/db/migrate/20241207112305_remove_wedding_date.rb @@ -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 diff --git a/db/schema.rb b/db/schema.rb index 7ff33f3..29940a3 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -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 diff --git a/db/seeds.rb b/db/seeds.rb index 9d93073..eb45757 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -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') diff --git a/spec/factories/weddings.rb b/spec/factories/weddings.rb index 3680045..5a765a1 100644 --- a/spec/factories/weddings.rb +++ b/spec/factories/weddings.rb @@ -3,6 +3,5 @@ FactoryBot.define do factory :wedding do sequence(:slug) { |i| "wedding-#{i}" } - date { 1.year.from_now } end end diff --git a/spec/requests/users/registrations_spec.rb b/spec/requests/users/registrations_spec.rb index f29b387..2cbaeea 100644 --- a/spec/requests/users/registrations_spec.rb +++ b/spec/requests/users/registrations_spec.rb @@ -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 } }