diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb index 69888ea..8ae3fbb 100644 --- a/app/controllers/invitations_controller.rb +++ b/app/controllers/invitations_controller.rb @@ -2,9 +2,9 @@ # frozen_string_literal: true -# Copyright (C) 2024-2025 LibreWeddingPlanner contributors - class InvitationsController < ApplicationController + skip_before_action :authenticate_user!, only: :show + def index render json: Invitation.includes(:guests).as_json( only: :id, @@ -16,6 +16,16 @@ class InvitationsController < ApplicationController ) end + def show + invitation = Invitation.includes(:guests).find(params[:id]) + + if invitation + render json: invitation, only: :id, include: { guests: { only: %i[id name] } }, status: :ok + else + render json: { error: 'Invitation not found' }, status: :not_found + end + end + def create invitation = Invitation.create diff --git a/config/routes.rb b/config/routes.rb index e908b04..4e36fa2 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -42,7 +42,7 @@ Rails.application.routes.draw do resources :tables_arrangements, only: %i[index show create] resources :summary, only: :index - resources :invitations, only: %i[index create update destroy] + resources :invitations, only: %i[show index create update destroy] root to: redirect("/%{slug}") end