Introduce clubs con abbonamento, branding Active Storage e flusso registrazione società; corregge healthcheck MediaMTX (immagine distroless) e allinea dominio produzione matchlivetv.it. Co-authored-by: Cursor <cursoragent@cursor.com>
40 lines
730 B
Ruby
40 lines
730 B
Ruby
class Team < ApplicationRecord
|
|
include Brandable
|
|
|
|
belongs_to :club
|
|
has_many :user_teams, dependent: :destroy
|
|
has_many :users, through: :user_teams
|
|
has_many :matches, dependent: :destroy
|
|
has_one :youtube_credential, dependent: :destroy
|
|
has_many :recordings, dependent: :destroy
|
|
has_many :team_invitations, dependent: :destroy
|
|
|
|
validates :name, presence: true
|
|
|
|
def subscription
|
|
club.subscription
|
|
end
|
|
|
|
def entitlements
|
|
Teams::Entitlements.new(self)
|
|
end
|
|
|
|
def owner
|
|
club&.owner
|
|
end
|
|
|
|
private
|
|
|
|
def branding_parent
|
|
club
|
|
end
|
|
|
|
def default_primary_color
|
|
club&.primary_color.presence || super
|
|
end
|
|
|
|
def default_secondary_color
|
|
club&.secondary_color.presence || super
|
|
end
|
|
end
|