from common.enums import UserRole def is_owner_or_admin(resource_user_id, user_id, role) -> bool: """변경 액션 공용 소유권 판정 — 리소스 소유자(user_id 일치) 또는 최고관리자(OWNER)면 True. 프론트의 버튼 게이팅과 같은 규칙을 백엔드에서 강제하는 단일 출처. 소유자 없는 공용 리소스(예: user_id NULL 공용카드)는 이 판정 대상이 아니다(도메인별 별도 처리).""" return str(resource_user_id) == str(user_id) or role == UserRole.OWNER.value