diff --git a/book/300_architecture/database/tables.md b/book/300_architecture/database/tables.md index f00eb0b..c4fc8e9 100644 --- a/book/300_architecture/database/tables.md +++ b/book/300_architecture/database/tables.md @@ -47,7 +47,8 @@ ```json { "nickname": "joann", - "position": "CEO", + "position": "대표", + "title": "대표님", "short_name": "고은", "department": "경영", "preferences": { @@ -127,6 +128,27 @@ | updated_at | TIMESTAMPTZ | YES | | | created_at | TIMESTAMPTZ | YES | | +### slack_channel +| 컬럼명 | 타입 | NULL | 설명 | +|--------|------|------|------------| +| id | UUID | NO | PK | +| slack_workspace_id | UUID | NO | FK → slack_workspace | +| channel_id | VARCHAR(32) | NO | Slack 채널 ID (예: C09C98KK2TT) | +| channel_name | VARCHAR(255) | NO | 채널명 (예: company-x-전체) | +| is_private | BOOLEAN | NO | 비공개 채널 여부 | +| is_archived | BOOLEAN | NO | 아카이브 여부 | +| is_member | BOOLEAN | NO | robeing 봇이 멤버인지 | +| robeing_can_read | BOOLEAN | NO | 읽기 가능 여부 | +| robeing_can_create | BOOLEAN | NO | 전송 가능 여부 | +| robeing_can_update | BOOLEAN | NO | 수정 가능 여부 | +| robeing_can_delete | BOOLEAN | NO | 삭제 가능 여부 (현재 미구현) | +| status | VARCHAR(32) | YES | active, inactive 등 | +| metadata | JSONB | YES | 추가 메타데이터 (용도, 설명 등) | +| created_at | TIMESTAMPTZ | NO | | +| updated_at | TIMESTAMPTZ | NO | | + +**제약조건**: `UNIQUE(slack_workspace_id, channel_id)` - 워크스페이스 내 채널 ID 중복 방지 + --- ## 4. 사용자 설정 및 토큰 테이블