Files
fizzy/app/models/membership.rb
T
Mike Dalessio ec54014832 Add account slug middleware
and set Current.account
2025-11-17 09:11:42 -05:00

31 lines
693 B
Ruby

class Membership < ApplicationRecord
include EmailAddressChangeable
belongs_to :identity, touch: true
class << self
def change_email_address(from:, to:, tenant:)
identity = Identity.find_by(email_address: from)
membership = find_by(tenant: tenant, identity: identity)
if membership
new_identity = Identity.find_or_create_by!(email_address: to)
membership.update!(identity: new_identity)
end
end
end
def account
Account.find_by_external_account_id(tenant)
end
def account_name
account&.name
end
def user
# TODO:PLANB: should this find should be scoped by account?
User.find_by(membership_id: id)
end
end