diff --git a/300_architecture/database/tables.md b/300_architecture/database/tables.md index 9673f34..c61dbb0 100644 --- a/300_architecture/database/tables.md +++ b/300_architecture/database/tables.md @@ -235,6 +235,41 @@ --- +### naverworks_token +- **용도**: NAVER WORKS OAuth 토큰 및 Passport 정보 +- **Primary Key**: id (UUID) +- **Unique**: user_id (사용자당 하나의 토큰만) +- **Foreign Key**: user_id → user(id) ON DELETE CASCADE +- **레코드**: 1개 (2025-09-18 기준) + +| 컬럼명 | 타입 | NULL | 기본값 | 설명 | +|--------|------|------|--------|------| +| id | UUID | NO | gen_random_uuid() | 토큰 ID | +| user_id | UUID | NO | | 사용자 ID (FK → user) | +| access_token | TEXT | YES | | 액세스 토큰 (개별 저장용) | +| refresh_token | TEXT | YES | | 리프레시 토큰 (개별 저장용) | +| token_type | VARCHAR(50) | YES | 'Bearer' | 토큰 타입 | +| expires_at | TIMESTAMP | YES | | 토큰 만료 시각 | +| scopes | JSONB | YES | | OAuth 스코프 목록 | +| domain_id | VARCHAR(255) | YES | | NAVER WORKS 도메인 ID | +| service_account | VARCHAR(255) | YES | | 서비스 계정 | +| metadata | JSONB | YES | | 사용자 메타데이터 | +| created_at | TIMESTAMPTZ | YES | CURRENT_TIMESTAMP | 생성 시각 | +| updated_at | TIMESTAMPTZ | YES | CURRENT_TIMESTAMP | 수정 시각 | +| username | VARCHAR(255) | YES | | 사용자명 | +| account_id | VARCHAR(255) | YES | | NAVER WORKS 계정 ID | +| token_data | JSONB | YES | | 토큰 데이터 (통합 저장용) | +| oauth_config | JSONB | YES | | OAuth 설정 정보 | +| expiry | TIMESTAMP | YES | | 토큰 만료 시각 (passport용) | +| is_equipped | BOOLEAN | YES | false | Passport 장착 여부 | + +**인덱스**: +- idx_naverworks_token_user_id (user_id) +- idx_naverworks_token_expires_at (expires_at) + +**트리거**: +- update_naverworks_token_updated_at: updated_at 자동 갱신 + ## 6. 기타 정보 ### Custom Types