Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
07fd0de
feat: 대본 API 연결 (#130)
AndyH0ng Feb 8, 2026
70dcf93
refactor: 훅 정리 및 JSDoc 작성 (#130)
AndyH0ng Feb 8, 2026
1532b6c
refactor: 슬라이드 타입 확장 (#130)
AndyH0ng Feb 8, 2026
c352b93
fix: 무한 렌더링 문제 해결 (#130)
AndyH0ng Feb 8, 2026
fd2de71
feat: 댓글 무한 스크롤 구현 (#130)
AndyH0ng Feb 8, 2026
e7ce7d9
feat: 댓글 DTO 업데이트 (#130)
AndyH0ng Feb 8, 2026
b41e94c
feat: 댓글 DTO 작성 완료 (#130)
AndyH0ng Feb 8, 2026
ea129d7
feat: 정렬 기능 제거 (백엔드 중복됨) (#130)
AndyH0ng Feb 8, 2026
09d433b
fix: commentId로 변경 (#130)
AndyH0ng Feb 8, 2026
be2bf85
feat: 정렬 기능 제거 (백엔드 중복됨) (#130)
AndyH0ng Feb 8, 2026
876a2e1
feat: 프로젝트 제목 수정 API 연결 (#130)
AndyH0ng Feb 8, 2026
6413df8
feat: 프로젝트 목록 조회 훅 구현 (#130)
AndyH0ng Feb 8, 2026
c7f1cf0
feat: 프로젝트 목록 조회 API 연동 (#130)
AndyH0ng Feb 8, 2026
381a0d7
feat: 프로젝트 삭제 API 연동 (#130)
AndyH0ng Feb 8, 2026
e13c709
feat: 삭제된 프로젝트 캐시 갱신 (#130)
AndyH0ng Feb 8, 2026
f042d0e
fix: 슬라이드 rename 시 대본 날아가는 문제 수정 (#130)
AndyH0ng Feb 8, 2026
9fd131a
chore: DTO 이름 변경 (#130)
AndyH0ng Feb 8, 2026
056d7dc
feat: 영상 리액션 DTO 구현 (#130)
AndyH0ng Feb 8, 2026
f5a581d
feat: 영상 리액션 훅 구현 (#130)
AndyH0ng Feb 8, 2026
7e3a56e
fix: active 계산도 서버 기준으로 맞춤 (#130)
AndyH0ng Feb 8, 2026
5e35b63
feat: 비디오 리액션 타임라인과 연결 (#130)
AndyH0ng Feb 8, 2026
e5d0f58
fix: 키 중복 경고 해결 (#130)
AndyH0ng Feb 8, 2026
573ccf9
Merge branch 'develop' into feat/script-api-130
AndyH0ng Feb 8, 2026
7e7a1fc
fix: videoId 타입 string으로 변경 (#130)
AndyH0ng Feb 8, 2026
773afdb
fix: id → commentId로 변경 (#130)
AndyH0ng Feb 8, 2026
23e49fd
fix: videoId 타입 string으로 변경 (#130)
AndyH0ng Feb 8, 2026
1d6b3ea
design: width max값 지정 (#130)
AndyH0ng Feb 8, 2026
1fa013c
fix: videoId 타입 string으로 변경 (#130)
AndyH0ng Feb 8, 2026
38154a2
feat: 홈화면 API 연동 (#130)
AndyH0ng Feb 9, 2026
40072b2
Merge branch 'develop' into feat/script-api-130
AndyH0ng Feb 9, 2026
2eb81f1
feat: 영상 API 응답 DTO 정의 및 타입 안전성 개선 (#130)
AndyH0ng Feb 9, 2026
7689d29
fix: id → commentId로 변경 (#130)
AndyH0ng Feb 9, 2026
db0c297
fix: 모바일 레이아웃 댓글 수정 기능 누락 (#130)
AndyH0ng Feb 9, 2026
b5ce0db
fix: ApiResponse discriminated union 타입 가드 추가 (#130)
AndyH0ng Feb 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 58 additions & 54 deletions src/api/dto/comments.dto.ts
Original file line number Diff line number Diff line change
@@ -1,48 +1,3 @@
/**
* 답글작성
*/
export interface CreateReplyCommentRequestDto {
commentId: string;
}

/**
* 답글작성 response DTO
*/
export interface CreateReplyCommentResponseDto {
id: string;
content: string;
parentId: string;
userId: string;
createdAt: string;
}

/**
* 답글 목록 조회 DTO
*/
export interface GetRepliesResponseDto {
comments: Array<{
id: string;
content: string;
parentId: string | null;
userId: string;
createdAt: string;
}>;
}
/**
* 슬라이드 댓글 작성
*/
export interface CreateCommentRequestDto {
slideId: string;
}
/**
* 슬라이드 댓글 작성 response DTO
*/
export interface CreateCommentResponseDto {
id: string;
content: string;
userId: string;
createdAt: string;
}
/**
* 댓글 작성자 정보
*/
Expand Down Expand Up @@ -76,37 +31,86 @@ export interface GetSlideCommentsResponseDto {
}

/**
* 댓글 생성/수정 응답
* 답글 목록 조회 응답
*/
export interface GetReplyListResponseDto {
comments: CommentWithUserDto[];
pagination: {
page: number;
limit: number;
total: number;
totalPages: number;
};
}

/**
* 슬라이드 댓글 생성 요청
*/
export interface CommentResponseDto {
export interface CreateCommentRequestDto {
content: string;
}

/**
* 슬라이드 댓글 생성 응답
*/
export interface CreateCommentResponseDto {
commentId: string;
content: string;
parentId?: string;
userId: string;
createdAt: string;
}

/**
* 답글 목록 조회 응답
* 답글 생성 요청
*/
export interface CreateReplyCommentRequestDto {
content: string;
}

/**
* 답글 생성 응답
*/
export type GetReplyListResponseDto = CommentResponseDto[];
export interface CreateReplyCommentResponseDto {
parentCommentId: string;
replyId: string;
content: string;
userId: string;
createdAt: string;
}

/**
* 댓글 수정
* 댓글/답글 수정 응답
*/
export interface UpdateCommentResponseDto {
commentId: string;
updatedTargetType: 'comment' | 'reply';
commentId?: string;
replyId?: string;
parentCommentId?: string;
content: string;
userId: string;
createdAt: string;
updatedAt: string;
}

/**
* 댓글 및, 답글 삭제
* 댓글/답글 삭제 요청
*/
export interface DeleteCommentRequestDto {
commentId: string;
}

/**
* 댓글/답글 삭제 응답
*/
export interface DeleteCommentResponseDto {
deletedTargetType: 'comment' | 'reply';
commentId?: string;
replyId?: string;
parentCommentId?: string;
}

/**
* 영상 타임스탬프 댓글 생성
* 영상 타임스탬프 댓글 생성 요청
*/
export interface CreateVideoCommentRequestDto {
content: string;
Expand Down
25 changes: 21 additions & 4 deletions src/api/dto/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,41 @@ export type {
} from './scripts.dto';
export type {
ReadReactionCountDto,
ReadVideoReactionSummaryItemDto,
ReadVideoReactionTimelineResponseDto,
ReadVideoReactionTimelineMarkerDto,
ToggleSlideReactionDto,
ToggleSlideReactionResponseDto,
ToggleVideoReactionDto,
ToggleVideoReactionResponseDto,
} from './reactions.dto';
export type { RestoreScriptRequestDto } from './analytics.dto';
export type { UpdateProjectDto } from './presentations.dto';
export type {
DeleteProjectResponseDto,
GetPresentationsRequestDto,
UpdateProjectRequestDto,
UpdateProjectResponseDto,
} from './presentations.dto';
// export type { UploadFileResponseDto } from './files.dto';
export type {
ChunkUploadResponseDto,
CreateCommentDto,
FinishVideoRequestDto,
FinishVideoResponseDto,
GetProjectVideosResponseDto,
GetVideoDetailResponseDto,
GetVideoSlidesResponseDto,
StartVideoRequestDto,
StartVideoResponseDto,
VideoDetailDto,
VideoListItemDto,
VideoSlideTimelineItemDto,
VideoStatus,
VideoTimelineCommentDto,
VideoTimelineCommentUserDto,
VideoTimelineDto,
VideoTimelineReactionDto,
} from './video.dto';
export type {
CommentResponseDto,
CommentUserDto,
CommentWithUserDto,
CreateCommentRequestDto,
Expand All @@ -48,7 +65,7 @@ export type {
CreateReplyCommentResponseDto,
CreateVideoCommentRequestDto,
DeleteCommentRequestDto,
GetRepliesResponseDto,
DeleteCommentResponseDto,
GetReplyListResponseDto,
GetSlideCommentsResponseDto,
UpdateCommentResponseDto,
Expand Down
29 changes: 28 additions & 1 deletion src/api/dto/presentations.dto.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,33 @@
/**
* 프로젝트 제목 수정 요청 DTO
*/
export interface UpdateProjectDto {
export interface UpdateProjectRequestDto {
title?: string;
}

/**
* 프로젝트 제목 수정 응답 DTO
*/
export interface UpdateProjectResponseDto {
projectId: string;
title: string;
updatedAt: string;
}

/**
* 프로젝트 목록 조회 요청 DTO
*/
export interface GetPresentationsRequestDto {
page?: number;
limit?: number;
search?: string;
maxDuration?: number;
sort?: string;
}

/**
* 프로젝트 삭제 응답 DTO
*/
export interface DeleteProjectResponseDto {
message: string;
}
27 changes: 27 additions & 0 deletions src/api/dto/reactions.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ export interface ToggleVideoReactionDto {
* 영상 리액션 토글 응답 DTO
*/
export interface ToggleVideoReactionResponseDto {
reactionId: string;
videoId: string;
active: boolean;
}

Expand All @@ -37,6 +39,31 @@ export interface ReadReactionCountDto {
reactions: Record<ReactionType, number>;
}

/**
* 영상 리액션 구간 집계 항목 Dto
*/
export interface ReadVideoReactionSummaryItemDto {
emojiType: ReactionType;
count: number;
}

/**
* 영상 리액션 타임라인 마커 Dto
*/
export interface ReadVideoReactionTimelineMarkerDto {
timestampMs: number;
emojiType: ReactionType;
count: number;
}

/**
* 영상 리액션 타임라인 응답 Dto
*/
export interface ReadVideoReactionTimelineResponseDto {
intervalMs: number;
markers: ReadVideoReactionTimelineMarkerDto[];
}

/**
* 프로젝트 전체 슬라이드 리액션 집계 조회 Dto
*/
Expand Down
Loading
Loading