*/ public array $levelNames = [ self::LEVEL_CITIZEN => '일반 사용자', self::LEVEL_SHOP => '지정판매소', self::LEVEL_LOCAL_ADMIN => '지자체관리자', self::LEVEL_SUPER_ADMIN => 'super admin', self::LEVEL_HEADQUARTERS_ADMIN => '본부 관리자', ]; /** * super admin(4) 또는 본부 관리자(5) — 동일 관리자 UX(지자체 선택 등)에 사용 */ public static function isSuperAdminEquivalent(int $level): bool { return $level === self::LEVEL_SUPER_ADMIN || $level === self::LEVEL_HEADQUARTERS_ADMIN; } /** * TOTP 2차 인증 적용 대상 (지자체·super·본부 관리자) */ public static function requiresTotp(int $level): bool { return $level === self::LEVEL_LOCAL_ADMIN || $level === self::LEVEL_SUPER_ADMIN || $level === self::LEVEL_HEADQUARTERS_ADMIN; } /** * 자체 회원가입 시 기본 역할 (mb_level) */ public int $defaultLevelForSelfRegister = self::LEVEL_CITIZEN; /** * mb_level 유효 여부 */ public function isValidLevel(int $level): bool { return isset($this->levelNames[$level]); } /** * mb_level 한글명 반환 */ public function getLevelName(int $level): string { return $this->levelNames[$level] ?? '알 수 없음'; } }