From 4a107d6728f1b21ee8b7bd8f90bf291206a6d332 Mon Sep 17 00:00:00 2001 From: Manuel Bustillo Date: Sun, 8 Jun 2025 17:38:34 +0200 Subject: [PATCH] Return guest that has just been created --- app/controllers/guests_controller.rb | 11 ++++++----- app/serializers/serializable_guest.rb | 6 +----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/app/controllers/guests_controller.rb b/app/controllers/guests_controller.rb index 1d872fa..1b215eb 100644 --- a/app/controllers/guests_controller.rb +++ b/app/controllers/guests_controller.rb @@ -5,21 +5,22 @@ require 'csv' class GuestsController < ApplicationController + GUEST_PARAMS = { only: %i[id name status], include: { group: { only: %i[id name] } } }.freeze def index render json: Guest.includes(:group) .left_joins(:group) .order('groups.name' => :asc, name: :asc) - .as_json(only: %i[id name status], include: { group: { only: %i[id name] } }) + .as_json(GUEST_PARAMS) end def create - Guest.create!(guest_params) - render json: {}, status: :created + guest = Guest.create!(guest_params) + render json: guest.as_json(GUEST_PARAMS), status: :created end def update - Guest.find(params[:id]).update!(guest_params) - render json: {}, status: :ok + guest = Guest.find(params[:id]).update!(guest_params) + render json: guest.as_json(GUEST_PARAMS), status: :ok end def destroy diff --git a/app/serializers/serializable_guest.rb b/app/serializers/serializable_guest.rb index ee4bac1..9b062bf 100644 --- a/app/serializers/serializable_guest.rb +++ b/app/serializers/serializable_guest.rb @@ -5,16 +5,12 @@ class SerializableGuest < JSONAPI::Serializable::Resource type 'guest' - attributes :id, :group_id, :status + attributes :id, :status attribute :name do @object.name end - attribute :group_name do - @object.group.name - end - attribute :status do @object.status.capitalize end