docs: Sync documentation from private repository

This commit is contained in:
Documentation Bot 2025-12-16 06:52:46 +00:00
parent 8d0899df04
commit ef47bf9645
4 changed files with 85 additions and 4 deletions

View File

@ -221,6 +221,71 @@ interface ApiError {
--- ---
## Image Generation Check API
### POST /api/check-image-generation
**설명**: 이미지 생성 가능 여부 확인 (팀/개인 글쓰기에 따라 다른 검증)
**인증**: 필수
**Request Body**:
```typescript
{
writingId: string; // 글 ID
}
```
**Response**:
```typescript
{
success: true,
data: {
allowed: boolean; // 이미지 생성 가능 여부
reason?: ImageGenerationDisableReason; // 비활성화 사유
remaining?: number; // 남은 횟수
limit?: number; // 전체 한도 (-1은 무제한)
isTeamWriting: boolean; // 팀 글쓰기 여부
}
}
```
**ImageGenerationDisableReason**:
```typescript
type ImageGenerationDisableReason =
| "PLAN_NOT_SUPPORTED" // Pro 플랜 이상 필요
| "LIMIT_EXCEEDED" // 개인 월간 한도 초과
| "TEAM_AI_DISABLED" // 팀 AI 비활성화
| "TEAM_LIMIT_EXCEEDED" // 팀 월간 한도 초과
| "DAILY_LIMIT_EXCEEDED"; // 팀원 일일 한도 초과
```
**검증 로직**:
1. **팀 글쓰기** (`writing.teamId` 존재):
- `canTeamUseImageGeneration(teamId, userId)` 호출
- 팀 AI 설정 + 월간/일일 제한 확인
2. **개인 글쓰기** (`writing.teamId` 없음):
- `canUseAIFeature(userId, AIFeatureType.IMAGE_GENERATION)` 호출
- 개인 플랜 + 월간 제한 확인
**에러**:
- `400`: writingId 누락
- `401`: 인증 필요
- `404`: 글을 찾을 수 없음 또는 본인 글이 아님
**Manager 사용법**:
```typescript
import { writingManager } from "@/managers";
const result = await writingManager.checkImageGenerationAvailability(writingId);
// → { allowed: true, remaining: 5, limit: 10, isTeamWriting: true }
// → { allowed: false, reason: "TEAM_LIMIT_EXCEEDED", isTeamWriting: true }
```
**캐싱**: 없음 (실시간 확인 필요)
---
## Text Analysis API ## Text Analysis API
### POST /api/analyze-text ### POST /api/analyze-text

View File

@ -1,10 +1,24 @@
# 라온누리 - 프로젝트 구조 # 라온누리 - 프로젝트 구조
> 최종 업데이트: 2025-12-12 (보안 설정 통합, 팀 소유자 이전 기능) > 최종 업데이트: 2025-12-16 (이미지 생성 가능 여부 확인 API, 계획된 기능 문서)
초등학생을 위한 창작 글쓰기 교육 플랫폼 초등학생을 위한 창작 글쓰기 교육 플랫폼
**최신 업데이트** (2025-12-12): **최신 업데이트** (2025-12-16):
- 🖼️ **이미지 생성 가능 여부 확인 API**
- **POST /api/check-image-generation**: 글 ID 기반 이미지 생성 권한 확인
- **팀/개인 분기 처리**: 팀 글쓰기 → 팀 AI 설정 + 월간/일일 제한, 개인 글쓰기 → 개인 플랜 + 월간 제한
- **5가지 비활성화 사유**: PLAN_NOT_SUPPORTED, LIMIT_EXCEEDED, TEAM_AI_DISABLED, TEAM_LIMIT_EXCEEDED, DAILY_LIMIT_EXCEEDED
- **WritingManager.checkImageGenerationAvailability()**: 클라이언트 메서드 추가
- **타입 추가**: CheckImageGenerationRequest, CheckImageGenerationResult, ImageGenerationDisableReason
- **다국어 지원**: imageUpload.disabledReasons namespace (ko/en/ja)
- 📋 **계획된 기능 문서화**
- **plannedFeature/ 디렉토리 신규 생성**: 향후 개발 예정 기능들 정리
- **우선순위별 분류**: high-priority.md, medium-priority.md, low-priority.md
- **구현 가이드**: implementation-guide.md
- **주요 기능**: 부모님 대시보드, 선생님 첨삭 시스템, 글 포트폴리오, 협업 글쓰기 등
**업데이트** (2025-12-12):
- 🔒 **팀 보안 설정 통합** - 🔒 **팀 보안 설정 통합**
- **TeamSecuritySettingsDialog 확장**: 공개설정(isPublic) + 보안레벨(securityLevel) 통합 - **TeamSecuritySettingsDialog 확장**: 공개설정(isPublic) + 보안레벨(securityLevel) 통합
- **공개 설정 스위치**: 보안 단계 선택 아래에 배치 (팀 공개, 글 공개 허용, 팀 설명, 커버 이미지) - **공개 설정 스위치**: 보안 단계 선택 아래에 배치 (팀 공개, 글 공개 허용, 팀 설명, 커버 이미지)

View File

@ -1,6 +1,6 @@
# 라온누리 - 개발 로드맵 # 라온누리 - 개발 로드맵
> 최종 업데이트: 2025-12-12 (팀 보안 설정 통합, 소유자 이전 기능) > 최종 업데이트: 2025-12-16 (이미지 생성 가능 여부 확인 API, 계획된 기능 문서화)
초등학생을 위한 창작 글쓰기 교육 플랫폼 개발 계획 초등학생을 위한 창작 글쓰기 교육 플랫폼 개발 계획
@ -151,6 +151,8 @@
| **결제 주기 변경 기능** | **동일 플랜 결제 주기 변경 (월간↔연간), scheduledPlan.billingCycle 필드 추가, 다음 결제일부터 적용, 월간 30일/연간 365일 구독 기간, billingCycleChangeSuccess 토스트 알림, 다국어 지원** | **2025-12-10** | | **결제 주기 변경 기능** | **동일 플랜 결제 주기 변경 (월간↔연간), scheduledPlan.billingCycle 필드 추가, 다음 결제일부터 적용, 월간 30일/연간 365일 구독 기간, billingCycleChangeSuccess 토스트 알림, 다국어 지원** | **2025-12-10** |
| **팀 소유자 이전 기능** | **POST /api/team/[teamId]/transfer-ownership API, TeamMemberEditor 소유자 이전 메뉴, 소유자 역할 배지 표시, 다국어 지원 (transferOwnership, transferConfirm 등 ko/en/ja)** | **2025-12-12** | | **팀 소유자 이전 기능** | **POST /api/team/[teamId]/transfer-ownership API, TeamMemberEditor 소유자 이전 메뉴, 소유자 역할 배지 표시, 다국어 지원 (transferOwnership, transferConfirm 등 ko/en/ja)** | **2025-12-12** |
| **팀 보안 설정 통합** | **TeamSecuritySettingsDialog에 공개설정 통합 (isPublic 스위치, allowPublicWritings, description, coverImage), TeamInfoCard에 검색가능/불가능 태그 추가 (FaGlobe/FaEyeSlash), TeamPublicSettings 제거, SecurityLevelSelector searchable 속성 추가, 다국어 지원 (searchable/notSearchable ko/en/ja)** | **2025-12-12** | | **팀 보안 설정 통합** | **TeamSecuritySettingsDialog에 공개설정 통합 (isPublic 스위치, allowPublicWritings, description, coverImage), TeamInfoCard에 검색가능/불가능 태그 추가 (FaGlobe/FaEyeSlash), TeamPublicSettings 제거, SecurityLevelSelector searchable 속성 추가, 다국어 지원 (searchable/notSearchable ko/en/ja)** | **2025-12-12** |
| **이미지 생성 가능 여부 확인 API** | **POST /api/check-image-generation (팀/개인 글쓰기 분기 처리), 5가지 비활성화 사유 (PLAN_NOT_SUPPORTED, LIMIT_EXCEEDED, TEAM_AI_DISABLED, TEAM_LIMIT_EXCEEDED, DAILY_LIMIT_EXCEEDED), WritingManager.checkImageGenerationAvailability() 메서드 추가, CheckImageGenerationRequest/Result/DisableReason 타입, 다국어 지원 (imageUpload.disabledReasons namespace ko/en/ja)** | **2025-12-16** |
| **계획된 기능 문서화** | **plannedFeature/ 디렉토리 신규 생성, 우선순위별 분류 (high/medium/low-priority.md), implementation-guide.md 구현 가이드, 주요 기능 (부모님 대시보드, 선생님 첨삭 시스템, 글 포트폴리오, 협업 글쓰기, 개인화 글감 AI, 독후감 템플릿, 음성 녹음, PDF 내보내기, 배지/업적 시스템)** | **2025-12-16** |
### 🚧 진행 중 ### 🚧 진행 중

View File

@ -1,6 +1,6 @@
# 라온누리 - 기술 스택 및 개발 환경 # 라온누리 - 기술 스택 및 개발 환경
> 최종 업데이트: 2025-12-08 (AI 크레딧 환불 시스템, 구매 플로우) > 최종 업데이트: 2025-12-16 (이미지 생성 권한 확인 API)
--- ---