2025-10-07 12:38:06 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
|
|
class Family::MembershipPolicy < ApplicationPolicy
|
2025-10-13 06:23:01 -04:00
|
|
|
def create?
|
2025-10-11 08:17:48 -04:00
|
|
|
return false unless user
|
2025-10-13 06:23:01 -04:00
|
|
|
return false unless record.is_a?(Family::Invitation)
|
2025-10-11 08:17:48 -04:00
|
|
|
|
2025-10-13 06:23:01 -04:00
|
|
|
record.email == user.email && record.pending? && !record.expired?
|
2025-10-07 12:38:06 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def destroy?
|
2025-10-11 08:17:48 -04:00
|
|
|
return false unless user
|
2025-10-07 12:38:06 -04:00
|
|
|
return true if user == record.user
|
|
|
|
|
|
2025-10-13 06:23:01 -04:00
|
|
|
user.family == record.family && user.family_owner?
|
2025-10-07 12:38:06 -04:00
|
|
|
end
|
|
|
|
|
end
|