본문으로 건너뛰기
버전: 0.68.0

DailyContentType

일일 콘텐츠 API에서 사용되는 콘텐츠 타입을 정의하는 열거형입니다.

값 목록

설명
LESSON레슨 콘텐츠 - 일반 레슨(1-45번) 또는 최종 레슨(46번)을 제공합니다. lessonLabel 필드에 해당 레슨의 라벨이 포함됩니다. 사용자는 이 라벨을 통해 번들에서 실제 레슨 콘텐츠를 조회할 수 있습니다.
QUIZ퀴즈 콘텐츠 - 모든 일반 레슨 완료 후 제공되는 복습 퀴즈입니다. quizId 필드에 해당 퀴즈의 ID가 포함됩니다. 사용자는 이 ID를 통해 번들에서 실제 퀴즈 콘텐츠를 조회할 수 있습니다.
BOTH레슨과 퀴즈 모두 제공 - 특정 조건에서 레슨과 퀴즈를 동시에 제공할 때 사용됩니다. (현재 일일 콘텐츠 API에서는 사용되지 않음)
NONE제공할 콘텐츠 없음 - 치료 기간 초과, 시스템 오류, 또는 특정 조건 미충족 시 반환됩니다. 이 경우 lessonLabelquizId 모두 undefined입니다.
BUNDLE_UPDATE_REQUIRED번들 업데이트 필요 - 클라이언트의 번들 버전이 서버의 최신 버전과 다를 때 반환됩니다. 클라이언트는 새로운 번들을 다운로드해야 합니다.

사용 예시

일일 콘텐츠 API 응답에서의 사용

// 레슨 제공 시
{
"bundleId": "bundle_learning_2024_v1",
"currentDayIndex": 7,
"contentType": "LESSON",
"lessonLabel": 7
}

// 퀴즈 제공 시
{
"bundleId": "bundle_learning_2024_v1",
"currentDayIndex": 50,
"contentType": "QUIZ",
"quizId": "quiz_001"
}

// 콘텐츠 없음
{
"bundleId": "bundle_learning_2024_v1",
"currentDayIndex": 48,
"contentType": "NONE"
}

비즈니스 로직

콘텐츠 결정 우선순위

  1. LESSON: 치료 1-45일차 또는 90일차(최종 레슨), 또는 46-89일차에 미완료 레슨이 있는 경우
  2. QUIZ: 모든 일반 레슨 완료 후 46-89일차
  3. NONE: 제공할 콘텐츠가 없는 경우
  4. BUNDLE_UPDATE_REQUIRED: 번들 버전 불일치 시

치료 기간별 콘텐츠 타입

  • 1-45일차: 주로 LESSON 타입 (일반 레슨)
  • 46-89일차: QUIZ 타입 (모든 일반 레슨 완료 시) 또는 미완료 LESSON 타입
  • 90일차: 최종 LESSON 타입 (lessonLabel: 46)
  • 기타: NONE 또는 BUNDLE_UPDATE_REQUIRED 타입

관련 API

파일 위치

libs/shared/contracts-learning/src/lib/enums/daily-content-type.enum.ts