Merge pull request 'Define an endpoint to remove guests' (#139) from delete-guest-endpoint into main
Some checks failed
Check usage of free licenses / check-licenses (push) Successful in 1m4s
Run unit tests / unit_tests (push) Successful in 3m42s
Build Nginx-based docker image / build-static-assets (push) Failing after 17m24s

Reviewed-on: #139
This commit is contained in:
bustikiller 2024-11-17 17:28:13 +00:00
commit 1f81dabff4
4 changed files with 18 additions and 1 deletions

View File

@ -19,4 +19,9 @@ class GuestsController < ApplicationController
Guest.find(params[:id]).update!(params.require(:guest).permit(:name, :status))
render json: {}, status: :ok
end
def destroy
Guest.find(params[:id]).destroy!
render json: {}, status: :ok
end
end

View File

@ -36,6 +36,9 @@ class Guest < ApplicationRecord
scope :potential, -> { where.not(status: %i[declined considered]) }
after_save :recalculate_simulations, if: :saved_change_to_status?
after_destroy :recalculate_simulations
has_many :seats, dependent: :delete_all
private

View File

@ -4,7 +4,7 @@ Rails.application.routes.draw do
mount Rswag::Ui::Engine => '/api-docs'
mount Rswag::Api::Engine => '/api-docs'
resources :groups, only: :index
resources :guests, only: %i[index create update] do
resources :guests, only: %i[index create update destroy] do
post :bulk_update, on: :collection
end
resources :expenses, only: %i[index update] do

View File

@ -77,5 +77,14 @@ RSpec.describe 'guests', type: :request do
response_422
response_404
end
delete('delete guest') do
tags 'Guests'
produces 'application/json'
parameter name: 'id', in: :path, type: :string, format: :uuid
response_empty_200
response_404
end
end
end