Skip to content

Enhance draft attachment uploads and activity video management - #257

Merged
YoonKeumJae merged 48 commits into
mainfrom
develop
Jun 9, 2026
Merged

Enhance draft attachment uploads and activity video management#257
YoonKeumJae merged 48 commits into
mainfrom
develop

Conversation

@YoonKeumJae

Copy link
Copy Markdown
Collaborator

This pull request introduces several new features and improvements, primarily focused on enhancing file attachment support, especially for ZIP files, and adding management for "활동 영상" (Activity Videos). It also improves the handling of draft sessions for attachments and enhances the sidebar navigation. The most important changes are summarized below.

Attachment and ZIP Compatibility Improvements:

  • Added a comprehensive test script (test-zip-compat.mjs) to validate and ensure that ZIP files are compatible with Windows, including proper UTF-8 filename handling and filtering of macOS metadata files.
  • Updated AttachUploader to use the new ensureWindowsCompatibleZipFile utility before uploading ZIP files, improving cross-platform compatibility. The uploader now also supports draft session IDs and notifies when uploads are in progress. [1] [2] [3] [4]

Draft Session & Attachment Upload Handling:

  • Enhanced AttachUploader and PostMetaSidebar to support both postId and draftSessionId, allowing attachments to be managed before a post is finalized. Added a callback to notify parent components about the uploading state. [1] [2] [3]

Activity Videos Management:

  • Introduced new routes and components for managing "활동 영상" (Activity Videos), including listing and editing, and integrated them into the app's routing structure. [1] [2]

Sidebar Navigation Enhancement:

  • Updated the sidebar to include a new "Management" section with navigation to the Activity Videos page, using an appropriate icon for visual clarity. [1] [2]

YoonKeumJae and others added 30 commits June 8, 2026 15:06
…ments

[codex] Fix Windows ZIP attachment uploads
Copilot AI review requested due to automatic review settings June 8, 2026 11:57

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

이 PR은 (1) 첨부파일 업로드의 draft 세션 지원(게시글 생성 전 업로드/정리/연결)과 (2) ZIP 파일의 Windows 호환성 보정, (3) “활동 영상(Activity Videos)”의 공개/관리 API 및 Admin UI 추가를 통해 콘텐츠 운영 기능을 확장합니다.

Changes:

  • Admin 첨부파일 업로드에 draftSessionId를 도입하고, 저장 후 draft 첨부파일을 postId로 연결하는 API/UX 흐름을 추가
  • ZIP 업로드 전 ensureWindowsCompatibleZipFile로 UTF-8 파일명 플래그/정규화 및 macOS 메타데이터 엔트리 제거 처리 추가(+ 검증 스크립트)
  • 활동 영상: Server 컨트롤러/함수 라우트, Cosmos 컨테이너 접근, 시드 스크립트 및 Admin 관리 화면/라우팅을 추가하고 Web 공개 페이지는 API 기반으로 조회

Reviewed changes

Copilot reviewed 33 out of 33 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Elevate.Web/src/pages/ActivityShowcasePage.jsx 활동 영상 목록을 정적 JSON 대신 공개 API로 조회하고 실패 시 fallback 사용
Elevate.Web/src/api/activityVideos.js 활동 영상 공개 목록 API 클라이언트 추가
Elevate.Server/tests/config.test.js activity videos Cosmos 컨테이너 설정 예시 검증 테스트 추가
Elevate.Server/tests/auth-guard.test.js activity videos Admin 엔드포인트 401 가드 테스트 추가
Elevate.Server/tests/admin-attachments.test.js draftSessionId 정규화/쿼리/메타 저장/링크 처리에 대한 테스트 추가
Elevate.Server/tests/admin-attachment-download.test.js 첨부 목록 쿼리 스펙 검증 및 draftSessionId 조회 테스트 추가
Elevate.Server/tests/activity-videos.test.js 활동 영상 공개/관리 API 동작(필터/CRUD/검증) 테스트 추가
Elevate.Server/tests/activity-video-seed.test.js 활동 영상 시드 스크립트 유틸/파서/드라이런 테스트 추가
Elevate.Server/src/services/cosmosClient.js 활동 영상 컨테이너 getter 추가
Elevate.Server/src/functions/publicActivityVideosList.js 공개 활동 영상 목록 Functions 엔드포인트 추가
Elevate.Server/src/functions/index.js 신규 Functions 라우트 등록 및 라우트 우선순위 반영
Elevate.Server/src/functions/adminLinkDraftFiles.js draft 첨부파일을 post에 연결하는 Admin Functions 엔드포인트 추가
Elevate.Server/src/functions/adminActivityVideosList.js 활동 영상 Admin 목록 Functions 엔드포인트 추가
Elevate.Server/src/functions/adminActivityVideoCreate.js 활동 영상 Admin 생성 Functions 엔드포인트 추가
Elevate.Server/src/functions/adminActivityVideoDetail.js 활동 영상 Admin 상세 Functions 엔드포인트 추가
Elevate.Server/src/functions/adminActivityVideoUpdate.js 활동 영상 Admin 수정 Functions 엔드포인트 추가
Elevate.Server/src/functions/adminActivityVideoDelete.js 활동 영상 Admin 삭제 Functions 엔드포인트 추가
Elevate.Server/src/controllers/adminController.js draft 첨부파일 TTL/정리/조회/링크 로직 및 입력 검증 강화
Elevate.Server/src/controllers/activityVideoController.js 활동 영상 공개/관리 CRUD 컨트롤러 및 입력 검증 추가
Elevate.Server/scripts/seed-activity-videos.js Web 정적 JSON 기반 시드 업서트 스크립트 추가
Elevate.Server/package.json 시드 스크립트 npm task 추가
Elevate.Server/local.settings.json.example 활동 영상 컨테이너 환경변수 예시 추가
Elevate.Admin/src/utils/zipCompat.js ZIP Windows 호환성 보정 유틸 추가
Elevate.Admin/scripts/test-zip-compat.mjs ZIP 호환성 보정 유틸 검증 스크립트 추가
Elevate.Admin/src/services/assetsApi.js register/getFiles 확장(draftSessionId, link-draft)
Elevate.Admin/src/components/editor/AttachUploader.jsx draftSessionId 지원 + ZIP 호환성 처리 + 업로드 상태 콜백
Elevate.Admin/src/components/editor/PostMetaSidebar.jsx AttachUploader에 draftSessionId/업로드 상태 콜백 전달
Elevate.Admin/src/pages/PostEditor.jsx draft 첨부파일 세션 생성/저장/연결 재시도 및 저장 UX 개선
Elevate.Admin/src/services/activityVideosApi.js 활동 영상 Admin API 클라이언트 추가
Elevate.Admin/src/pages/ActivityVideos.jsx 활동 영상 목록 관리 페이지 추가
Elevate.Admin/src/pages/ActivityVideoEditor.jsx 활동 영상 생성/편집 페이지 추가
Elevate.Admin/src/components/layout/Sidebar.jsx 사이드바에 활동 영상 관리 메뉴 추가
Elevate.Admin/src/App.jsx 활동 영상 라우팅 추가

Comment thread Elevate.Admin/src/components/editor/AttachUploader.jsx Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 33 out of 33 changed files in this pull request and generated 1 comment.

Comment thread Elevate.Server/src/controllers/activityVideoController.js Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 34 out of 34 changed files in this pull request and generated 1 comment.

Comment thread Elevate.Admin/src/components/editor/AttachUploader.jsx Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 34 out of 34 changed files in this pull request and generated 3 comments.

Comment thread Elevate.Server/src/controllers/activityVideoController.js
Comment thread Elevate.Server/src/controllers/activityVideoController.js
Comment thread Elevate.Admin/src/services/assetsApi.js

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 34 out of 34 changed files in this pull request and generated 1 comment.

Comment thread Elevate.Admin/src/services/assetsApi.js Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 34 out of 34 changed files in this pull request and generated 2 comments.

Comment thread Elevate.Admin/src/utils/zipCompat.js
Comment thread Elevate.Admin/src/utils/zipCompat.js Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 34 out of 34 changed files in this pull request and generated no new comments.

@YoonKeumJae
YoonKeumJae merged commit fba3c7d into main Jun 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants