<?php

namespace Config;

use CodeIgniter\Config\BaseConfig;

/**
 * 사용자 역할(mb_level) 코드 매핑
 *
 * Phase 2 메뉴·권한 제어 시 config('Roles')로 참조
 */
class Roles extends BaseConfig
{
    /**
     * mb_level 상수 (member.mb_level)
     */
    public const LEVEL_SUPER_ADMIN   = 4;
    public const LEVEL_LOCAL_ADMIN   = 3;  // 지자체관리자
    public const LEVEL_SHOP          = 2;  // 지정판매소
    public const LEVEL_CITIZEN       = 1;  // 일반 사용자(시민)

    /**
     * mb_level → 한글명 매핑
     *
     * @var array<int, string>
     */
    public array $levelNames = [
        self::LEVEL_CITIZEN     => '일반 사용자',
        self::LEVEL_SHOP        => '지정판매소',
        self::LEVEL_LOCAL_ADMIN => '지자체관리자',
        self::LEVEL_SUPER_ADMIN => 'super 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] ?? '알 수 없음';
    }
}
