Skip to content

refactor(afternote): 에디터 곡·영상 변환 규칙을 공통화한다 #2166

Closed

Description

@OnlyReadOneBook

작업 유형

refactor — 동작 변경 없는 구조·책임·경계 개선

주 담당 모듈

afternote — 애프터노트

개요

에디터 폼 매퍼에서 생성 요청과 수정 비교 스냅샷을 만들 때 같은 곡 객체 조립과 영상 URL 정규화가 반복된다. 현재 동작을 유지하면서 각 변환 규칙을 private 함수 한 곳으로 모은다.

  • Song을 MemorialSongPayload로 바꾸는 객체 조립을 생성 요청과 현재값 스냅샷이 공유한다.
  • 생성 요청, 서버 미디어, 에디터 미디어의 영상 변환에서 빈 영상 URL을 null로 만드는 규칙과 썸네일 정규화·객체 생성을 공유한다.
  • 곡 순서, 빈 목록, URL 및 썸네일의 null·공백 처리, PATCH의 미변경·삭제·설정 의미를 유지한다.
  • DTO, 도메인 입력 계약, 카테고리별 스냅샷 구조는 바꾸지 않는다.

완료 조건: presentation 단위 테스트와 ktlint를 통과하고, PR 전체 diff에는 매퍼의 중복 변환 정리만 포함한다.

참고

#2163(PR #2164)의 카테고리별 스냅샷 분리 뒤에 적용한다. 새 기능이나 서버 계약 결정에 의존하지 않는 내부 정리다. PR base를 #2164 브랜치로 두어 기존 구조 변경과 이번 변환 정리를 별도로 읽을 수 있게 한다.

Activity

  1. added
    refactor동작 변경 없이 코드 구조·책임·경계를 개선하는 작업
    area:afternote애프터노트 기능 영역
    on Sep 25, 2026
  2. added
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Sep 25, 2026
  3. github-actions commented on Sep 25, 2026

    @github-actions
    Contributor

    이 이슈를 맡은 PR 은 #2167 다 (base refactor/2163-category-snapshot).

    base 가 기본 브랜치(develop)가 아니라서 GitHub 은 이 이슈의 Development 칸에
    아무것도 표시하지 않는다. 본문에 Closes #N 이 있어도 마찬가지다 — 그 링크는 기본 브랜치를
    target 하는 PR 에서만 만들어진다.

    PR 이 닫히거나 머지되면 이 이슈의 pr-open 라벨은 다음 리컨사일에서 떨어진다.

  4. removed
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Oct 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:afternote애프터노트 기능 영역refactor동작 변경 없이 코드 구조·책임·경계를 개선하는 작업

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions