@readerseye2/cr_type 1.0.75 → 1.0.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -175,6 +175,59 @@ export interface SegmentEndedPayload {
|
|
|
175
175
|
segmentIndex: number;
|
|
176
176
|
endedAt: number;
|
|
177
177
|
}
|
|
178
|
+
/** 녹화 목록 조회 요청 */
|
|
179
|
+
export interface RecordingListPayload {
|
|
180
|
+
/** 조회할 가족 ID (Admin은 모든 가족, Parent는 자신의 가족만) */
|
|
181
|
+
familyId?: number;
|
|
182
|
+
/** 조회할 뷰어 사용자 ID */
|
|
183
|
+
viewerUserId?: number;
|
|
184
|
+
/** 상태 필터 */
|
|
185
|
+
status?: RecordingStatus;
|
|
186
|
+
/** 페이지네이션 */
|
|
187
|
+
limit?: number;
|
|
188
|
+
offset?: number;
|
|
189
|
+
}
|
|
190
|
+
/** 녹화 상세 조회 요청 */
|
|
191
|
+
export interface RecordingGetPayload {
|
|
192
|
+
recordingId: string;
|
|
193
|
+
}
|
|
194
|
+
/** 세그먼트 상세 조회 요청 */
|
|
195
|
+
export interface SegmentGetPayload {
|
|
196
|
+
recordingId: string;
|
|
197
|
+
segmentIndex: number;
|
|
198
|
+
}
|
|
199
|
+
/** 청크 조회 요청 (재생용) */
|
|
200
|
+
export interface ChunksGetPayload {
|
|
201
|
+
recordingId: string;
|
|
202
|
+
segmentIndex: number;
|
|
203
|
+
/** 시작 timestamp (이 시점부터 청크 조회) */
|
|
204
|
+
fromTimestamp?: number;
|
|
205
|
+
/** 종료 timestamp (이 시점까지 청크 조회) */
|
|
206
|
+
toTimestamp?: number;
|
|
207
|
+
}
|
|
208
|
+
/** 녹화 목록 조회 결과 */
|
|
209
|
+
export interface RecordingListResultPayload {
|
|
210
|
+
recordings: RecordingManifest[];
|
|
211
|
+
total: number;
|
|
212
|
+
hasMore: boolean;
|
|
213
|
+
}
|
|
214
|
+
/** 녹화 상세 조회 결과 */
|
|
215
|
+
export interface RecordingManifestPayload {
|
|
216
|
+
manifest: RecordingManifest;
|
|
217
|
+
}
|
|
218
|
+
/** 세그먼트 상세 조회 결과 */
|
|
219
|
+
export interface SegmentMetaPayload {
|
|
220
|
+
recordingId: string;
|
|
221
|
+
segment: SegmentMeta;
|
|
222
|
+
}
|
|
223
|
+
/** 청크 조회 결과 */
|
|
224
|
+
export interface ChunksResultPayload {
|
|
225
|
+
recordingId: string;
|
|
226
|
+
segmentIndex: number;
|
|
227
|
+
chunks: ChunkFile[];
|
|
228
|
+
/** 요청 시점에 가장 가까운 스냅샷 (Seek 시 초기 상태 복원용) */
|
|
229
|
+
nearestSnapshot: SnapshotFile | null;
|
|
230
|
+
}
|
|
178
231
|
/** 녹화 목록 조회 응답 */
|
|
179
232
|
export interface RecordingListResponse {
|
|
180
233
|
recordings: RecordingManifest[];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ChatMessageReadRequest, ChatMessageRefreshRequest, MessageRequest } from "./socket-message.types";
|
|
2
2
|
import { SessionStartPayload, SessionEndPayload, SessionProgressPayload, SessionEventPayload, SessionSubscribePayload } from "./reading-section.types";
|
|
3
3
|
import { MonitorStartPayload, MonitorStopPayload } from "./monitor.types";
|
|
4
|
+
import { RecordingStartPayload, RecordingStopPayload, RecordingListPayload, RecordingGetPayload, SegmentGetPayload, ChunksGetPayload } from "./recording.types";
|
|
4
5
|
export interface ClientToServerEvents {
|
|
5
6
|
'chat-message:send': (msg: MessageRequest) => void;
|
|
6
7
|
'chat-message:refresh': (msg: ChatMessageRefreshRequest) => void;
|
|
@@ -24,5 +25,14 @@ export interface MonitorAdminToServerEvents {
|
|
|
24
25
|
'monitor:start': (payload: MonitorStartPayload) => void;
|
|
25
26
|
'monitor:stop': (payload: MonitorStopPayload) => void;
|
|
26
27
|
}
|
|
27
|
-
|
|
28
|
+
/** 녹화 이벤트 (Admin/Parent → Server) - P2.2 Recording System */
|
|
29
|
+
export interface RecordingAdminToServerEvents {
|
|
30
|
+
'recording:start': (payload: RecordingStartPayload) => void;
|
|
31
|
+
'recording:stop': (payload: RecordingStopPayload) => void;
|
|
32
|
+
'recording:list': (payload: RecordingListPayload) => void;
|
|
33
|
+
'recording:get': (payload: RecordingGetPayload) => void;
|
|
34
|
+
'recording:get-segment': (payload: SegmentGetPayload) => void;
|
|
35
|
+
'recording:get-chunks': (payload: ChunksGetPayload) => void;
|
|
36
|
+
}
|
|
37
|
+
export interface AdminClientToServerEvents extends ClientToServerEvents, NoticeToServerEvents, ReadingAdminToServerEvents, MonitorAdminToServerEvents, RecordingAdminToServerEvents {
|
|
28
38
|
}
|
|
@@ -2,6 +2,7 @@ import { MessageReadResponse, MessageResponse, NoticeMessageResult } from "./soc
|
|
|
2
2
|
import { ReadingSessionInfo, SocketViewerEvent, ViewerSnapshot } from "./reading-section.types";
|
|
3
3
|
import { ConnectedUser, ConnectedUsersGrouped } from "./connected-user.types";
|
|
4
4
|
import { MonitorStartedPayload, MonitorChunkPayload, MonitorSessionChangedPayload, MonitorStoppedPayload, MonitorErrorPayload } from "./monitor.types";
|
|
5
|
+
import { RecordingStartedPayload, RecordingStoppedPayload, RecordingChunkPayload, SegmentStartedPayload, SegmentEndedPayload, RecordingListResultPayload, RecordingManifestPayload, SegmentMetaPayload, ChunksResultPayload } from "./recording.types";
|
|
5
6
|
export interface ServerToClientEvents {
|
|
6
7
|
connect: () => void;
|
|
7
8
|
disconnect: () => void;
|
|
@@ -69,5 +70,20 @@ export interface MonitorServerToClientEvents {
|
|
|
69
70
|
'monitor:stopped': (payload: MonitorStoppedPayload) => void;
|
|
70
71
|
'monitor:error': (payload: MonitorErrorPayload) => void;
|
|
71
72
|
}
|
|
72
|
-
|
|
73
|
+
/** 녹화 이벤트 (Admin/Parent에게 전송) - P2.2 Recording System */
|
|
74
|
+
export interface RecordingServerToClientEvents {
|
|
75
|
+
'recording:started': (payload: RecordingStartedPayload) => void;
|
|
76
|
+
'recording:stopped': (payload: RecordingStoppedPayload) => void;
|
|
77
|
+
'recording:chunk': (payload: RecordingChunkPayload) => void;
|
|
78
|
+
'recording:segment-started': (payload: SegmentStartedPayload) => void;
|
|
79
|
+
'recording:segment-ended': (payload: SegmentEndedPayload) => void;
|
|
80
|
+
'recording:error': (payload: {
|
|
81
|
+
message: string;
|
|
82
|
+
}) => void;
|
|
83
|
+
'recording:list-result': (payload: RecordingListResultPayload) => void;
|
|
84
|
+
'recording:manifest': (payload: RecordingManifestPayload) => void;
|
|
85
|
+
'recording:segment': (payload: SegmentMetaPayload) => void;
|
|
86
|
+
'recording:chunks': (payload: ChunksResultPayload) => void;
|
|
87
|
+
}
|
|
88
|
+
export interface AdminServerToClientEvents extends ServerToClientEvents, NoticeToClientEvents, ReadingServerToClientEvents, UserServerToClientEvents, MonitorServerToClientEvents, RecordingServerToClientEvents {
|
|
73
89
|
}
|