Rails API, app Flutter, infrastruttura Docker/MediaMTX, sito marketing e documentazione di deploy. Co-authored-by: Cursor <cursoragent@cursor.com>
18 lines
459 B
Ruby
18 lines
459 B
Ruby
class User < ApplicationRecord
|
|
ROLES = %w[admin coach parent volunteer].freeze
|
|
|
|
has_secure_password
|
|
|
|
has_many :user_teams, dependent: :destroy
|
|
has_many :teams, through: :user_teams
|
|
has_many :stream_sessions, dependent: :nullify
|
|
|
|
validates :email, presence: true, uniqueness: true, format: { with: URI::MailTo::EMAIL_REGEXP }
|
|
validates :name, presence: true
|
|
validates :role, inclusion: { in: ROLES }
|
|
|
|
def admin?
|
|
role == "admin"
|
|
end
|
|
end
|