Initial project import for team collaboration.

Exclude local docs, MCP, and secrets via gitignore.

Made-with: Cursor
This commit is contained in:
taekyoungc
2026-03-25 12:05:33 +09:00
commit 4e557d4be1
153 changed files with 16198 additions and 0 deletions

54
app/Config/Roles.php Normal file
View File

@@ -0,0 +1,54 @@
<?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] ?? '알 수 없음';
}
}