Added customer composite key

This commit is contained in:
Nedim
2025-02-27 07:45:54 +01:00
parent a28cdc6a6d
commit 92a61159ca
35 changed files with 1776 additions and 115 deletions

View File

@@ -1,11 +1,28 @@
class Reservation < ApplicationRecord
belongs_to :company
belongs_to :customer
belongs_to :customer,
primary_key: %i[first_name surname original_phone],
query_constraints: %i[customer_first_name customer_surname customer_original_phone]
belongs_to :team
validates :company_id, presence: true
validates :customer_id, presence: true
validates :team_id, presence: true
# Remove customer_id validation since we're using composite key
validates :customer_first_name, :customer_surname, :customer_original_phone, presence: true
# Add validation to ensure customer exists
validate :customer_must_exist
private
def customer_must_exist
unless Customer.exists?(first_name: customer_first_name,
surname: customer_surname,
original_phone: customer_original_phone)
errors.add(:base, "Selected customer does not exist")
end
end
end
class ReservationSerializer < ActiveModel::Serializer