# Copyright (C) 2024 Manuel Bustillo

# Copyright (C) 2024-2025 LibreWeddingPlanner contributors

# frozen_string_literal: true

# == Schema Information
#
# Table name: expenses
#
#  id           :uuid             not null, primary key
#  amount       :decimal(, )
#  name         :string
#  pricing_type :enum             default("fixed"), not null
#  created_at   :datetime         not null
#  updated_at   :datetime         not null
#  wedding_id   :uuid             not null
#
# Indexes
#
#  index_expenses_on_wedding_id  (wedding_id)
#
# Foreign Keys
#
#  fk_rails_...  (wedding_id => weddings.id)
#
class Expense < ApplicationRecord
  acts_as_tenant :wedding
  enum :pricing_type,
       fixed: 'fixed',
       per_person: 'per_person'

  validates :name, presence: true
  validates :amount, presence: true, numericality: { greater_than: 0 }
  validates :pricing_type, presence: true
end