docs: Sync documentation from private repository
This commit is contained in:
parent
8d0899df04
commit
ef47bf9645
65
API_SPEC.md
65
API_SPEC.md
@ -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
|
||||||
|
|||||||
@ -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) 통합
|
||||||
- **공개 설정 스위치**: 보안 단계 선택 아래에 배치 (팀 공개, 글 공개 허용, 팀 설명, 커버 이미지)
|
- **공개 설정 스위치**: 보안 단계 선택 아래에 배치 (팀 공개, 글 공개 허용, 팀 설명, 커버 이미지)
|
||||||
|
|||||||
@ -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** |
|
||||||
|
|
||||||
### 🚧 진행 중
|
### 🚧 진행 중
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# 라온누리 - 기술 스택 및 개발 환경
|
# 라온누리 - 기술 스택 및 개발 환경
|
||||||
|
|
||||||
> 최종 업데이트: 2025-12-08 (AI 크레딧 환불 시스템, 구매 플로우)
|
> 최종 업데이트: 2025-12-16 (이미지 생성 권한 확인 API)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user