본문으로 건너뛰기

Organization 패널 (Level 3)

📝 초안 (Draft)

이 문서는 검토 중입니다. 내용이 변경될 수 있습니다.

Organization Admin 전용 패널 기능을 설명합니다.

개요

Organization 패널은 **Level 3 (Organization Admin)**을 위한 관리 패널입니다. 조직 내의 워크스페이스를 관리하고, 조직 설정 및 멤버 배정을 담당합니다.

접근 권한

항목
권한 레벨Level 3 (Organization Admin)
기본 경로/org
환경변수PANEL_PATH_ORG
접근 가능자Level 0, 1, 2, 3

담당 범위

Organization Admin은 자신이 관리하는 조직 내에서만 권한을 가집니다:

Organization A (담당)
├── Workspace 1 ✅ 관리 가능
│ ├── Team 1 ✅
│ └── Team 2 ✅
├── Workspace 2 ✅ 관리 가능
│ └── Team 3 ✅
└── 조직 내 사용자 ✅ 관리 가능

Organization B (타 조직)
└── 모든 데이터 ❌ 접근 불가

주요 기능

1. 워크스페이스 관리

조직 내의 워크스페이스를 생성하고 관리합니다.

필드설명예시
name워크스페이스명"개발팀 공간"
code워크스페이스 코드"DEV-WS-01"
description설명"백엔드 개발 워크스페이스"
max_members최대 멤버 수20
is_active활성화 여부true/false

2. Workspace Admin 배정

각 워크스페이스에 **Level 4 관리자(Workspace Admin)**를 배정합니다.

관리 기능:

  • Workspace Admin 계정 생성
  • 담당 워크스페이스 배정
  • 권한 범위 설정

3. 조직 설정

조직의 기본 설정을 관리합니다.

설정설명
조직 정보이름, 설명, 로고
기본 권한멤버 기본 권한 설정
알림 설정이메일/푸시 알림 규칙

4. 멤버 현황

조직 내 모든 멤버 현황을 조회합니다.

지표설명
총 멤버 수조직 전체 인원
워크스페이스별 분포각 워크스페이스 인원
레벨별 분포Level 4, 5, 6 인원

파일 구조

app/Filament/Org/
├── Resources/
│ ├── WorkspaceResource.php
│ └── WorkspaceAdminResource.php

├── Pages/
│ ├── Dashboard.php
│ └── OrganizationSettings.php

└── Widgets/
├── MemberStatsWidget.php
└── WorkspaceOverviewWidget.php

PanelProvider 설정

// app/Providers/Filament/OrgPanelProvider.php

class OrgPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
->id('org')
->path(env('PANEL_PATH_ORG', 'org'))
->login()
->colors(['primary' => Color::Teal])
->discoverResources(
in: app_path('Filament/Org/Resources'),
for: 'App\Filament\Org\Resources'
)
->authMiddleware([
Authenticate::class,
EnsureUserLevel::class.':0,1,2,3', // Level 0-3 접근
]);
}
}

데이터 필터링

Organization Admin은 자신이 관리하는 조직 내 데이터만 조회합니다:

// WorkspaceResource.php
public static function getEloquentQuery(): Builder
{
return parent::getEloquentQuery()
->where('organization_id', auth()->user()->organization_id);
}

관련 문서