LearningEventType
학습 이벤트의 유형을 정의하는 열거형입니다.
열거형 값
| 값 | 설명 | 사용 시점 |
|---|---|---|
START | 학습 시작 | 사용자가 레슨을 시작할 때 |
PAUSE | 학습 일시정지 | 사용자가 학습을 일시적으로 중단할 때 |
RESUME | 학습 재개 | 일시정지된 학습을 다시 시작할 때 |
END | 학습 종료 | 학습을 완전히 종료할 때 (완료 또는 중단) |
사용 예시
import { LearningEventType } from '@shared-contracts/learning';
// 학습 시작 이벤트
const startEvent = {
eventType: LearningEventType.START,
timestamp: Date.now(),
lessonId: 'lesson_123',
};
// 학습 일시정지 이벤트
const pauseEvent = {
eventType: LearningEventType.PAUSE,
timestamp: Date.now(),
lessonId: 'lesson_123',
};
비즈니스 규칙
- START: 새로운 학습 세션의 시작을 의미하며, 해당 레슨의 학습 이력이 생성됩니다.
- PAUSE: 학습 중 일시적인 중단을 의미하며, 재개 가능한 상태입니다.
- RESUME: 일시정지된 학습의 재개를 의미하며, PAUSE 이후에만 발생 가능합니다.
- END: 학습의 완전한 종료를 의미하며, 자동으로
isCompleted: true로 설정됩니다.
관련 API
참고사항
- 이벤트는 시간순으로 처리되어야 합니다.
- 배치 처리 시 개별 이벤트 실패가 전체 배치를 중단시키지 않습니다.
- END 이벤트는 항상 학습 완료로 간주됩니다.