2025-01-13 20:38:47 +00:00
|
|
|
# Copyright (C) 2024 Manuel Bustillo
|
|
|
|
|
2025-01-13 21:37:02 +01:00
|
|
|
# Copyright (C) 2024-2025 LibreWeddingPlanner contributors
|
2024-10-27 21:42:45 +00:00
|
|
|
|
2024-12-28 18:37:47 +01:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2024-11-13 08:12:46 +00:00
|
|
|
# == 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
|
2024-11-30 20:04:17 +01:00
|
|
|
# wedding_id :uuid not null
|
|
|
|
#
|
|
|
|
# Indexes
|
|
|
|
#
|
|
|
|
# index_expenses_on_wedding_id (wedding_id)
|
|
|
|
#
|
|
|
|
# Foreign Keys
|
|
|
|
#
|
|
|
|
# fk_rails_... (wedding_id => weddings.id)
|
2024-11-13 08:12:46 +00:00
|
|
|
#
|
2024-07-11 19:55:48 +02:00
|
|
|
class Expense < ApplicationRecord
|
2024-11-30 20:04:17 +01:00
|
|
|
acts_as_tenant :wedding
|
2024-11-16 10:22:10 +01:00
|
|
|
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
|
2024-07-11 19:55:48 +02:00
|
|
|
end
|