# frozen_string_literal: true
module ESM
class UserAlias < ApplicationRecord
# =============================================================================
# INITIALIZE
# =============================================================================
# =============================================================================
# DATA STRUCTURE
# =============================================================================
public_attributes(
:value,
id: ->(user_alias) { user_alias.public_id },
type: ->(user_alias) { user_alias.server_id ? :server : :community },
community: ->(user_alias) { user_alias.community&.public_attributes },
server: ->(user_alias) { user_alias.server&.public_attributes }
)
# =============================================================================
# ASSOCIATIONS
# =============================================================================
# =============================================================================
# VALIDATIONS
# =============================================================================
# =============================================================================
# CALLBACKS
# =============================================================================
# =============================================================================
# SCOPES
# =============================================================================
# =============================================================================
# CLASS METHODS
# =============================================================================
# =============================================================================
# INSTANCE METHODS
# =============================================================================
end
end