Files
MatchLiveTv/backend/app/models/subscription.rb
Emiliano Frascaro bba6df52c0 Initial commit: monorepo Match Live TV.
Rails API, app Flutter, infrastruttura Docker/MediaMTX, sito marketing e documentazione di deploy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 17:45:37 +02:00

29 lines
560 B
Ruby

class Subscription < ApplicationRecord
STATUSES = %w[active trialing past_due canceled incomplete].freeze
ACTIVE_STATUSES = %w[active trialing].freeze
belongs_to :team
belongs_to :plan
validates :status, inclusion: { in: STATUSES }
validates :team_id, uniqueness: true
scope :active, -> { where(status: ACTIVE_STATUSES) }
def active?
status.in?(ACTIVE_STATUSES)
end
def premium?
active? && plan.premium?
end
def premium_full?
active? && plan.slug == "premium_full"
end
def free?
plan.slug == "free"
end
end