chatwoot-develop/enterprise/app/models/captain/pix_charge.rb
2026-01-19 19:26:23 -03:00

30 lines
669 B
Ruby

class Captain::PixCharge < ApplicationRecord
self.table_name = 'captain_pix_charges'
EXPIRATION_SECONDS = 3600
belongs_to :reservation, class_name: 'Captain::Reservation'
belongs_to :unit, class_name: 'Captain::Unit'
enum status: { active: 'active', paid: 'paid', expired: 'expired', failed: 'failed' }
validates :txid, presence: true, uniqueness: true
validates :unit_id, presence: true
def expires_at
return nil unless created_at
created_at + EXPIRATION_SECONDS
end
def expired_by_time?(now = Time.current)
return false unless created_at
now > expires_at
end
def original_value
reservation&.total_amount
end
end