# ID 체계 표준화 및 사용자 설정 시스템 ## 작성일: 2025-08-26 22:00 ## 작성자: 51124 서버 담당 ## 상태: 작업 필요 ## 영향: ID 일관성, 사용자 맞춤화 --- ## 1. Slack ID 컬럼명 불일치 ### 현재 상태 | 테이블 | 컬럼명 | 타입 | |--------|--------|------| | slack_user_mapping | slack_user_id | VARCHAR(100) | | gmail_tokens | **slack_id** ❌ | VARCHAR(100) | | conversation_logs | slack_user_id | VARCHAR(100) | ### 해결 방안 ```sql -- gmail_tokens 컬럼명 변경 ALTER TABLE gmail_tokens ADD COLUMN slack_user_id VARCHAR(100); UPDATE gmail_tokens SET slack_user_id = slack_id; ALTER TABLE gmail_tokens DROP COLUMN slack_id; ``` --- ## 2. 뉴스 키워드 하드코딩 문제 ### 현재 상태 - rb8001이 `["AI", "기술", "IT"]`만 사용 (dm_skill.py:309) - 매일 같은 뉴스 반복 ### 해결 방안: user_preferences 테이블 ```sql CREATE TABLE user_preferences ( id SERIAL PRIMARY KEY, user_id UUID REFERENCES users(id), slack_user_id VARCHAR(100), news_keywords TEXT[], -- 뉴스 키워드 email_filter TEXT[], -- 이메일 필터 briefing_enabled BOOLEAN DEFAULT true, briefing_time TIME DEFAULT '09:00', updated_at TIMESTAMP DEFAULT NOW() ); ``` ```python # rb8001/dm_skill.py 수정 async def get_user_keywords(slack_user_id: str) -> List[str]: db = SessionLocal() result = db.execute( text("SELECT news_keywords FROM user_preferences WHERE slack_user_id = :sid"), {"sid": slack_user_id} ).fetchone() return result[0] if result else ["AI", "기술", "IT"] ``` ### 프론트엔드 연동 - ActivityPanel 설정 UI 활용 (250825 문서 참조) - Gateway API로 user_preferences CRUD 구현 --- *작성: 2025-08-26 22:00*