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>
This commit is contained in:
28
backend/app/models/subscription.rb
Normal file
28
backend/app/models/subscription.rb
Normal file
@@ -0,0 +1,28 @@
|
||||
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
|
||||
Reference in New Issue
Block a user