Skip to content

[Refactor/#177] domain, presentation 계층간 model mapper를 구현합니다.#178

Open
wjdrjs00 wants to merge 31 commits intodevelopfrom
refactor/#177-ui-mapper
Open

[Refactor/#177] domain, presentation 계층간 model mapper를 구현합니다.#178
wjdrjs00 wants to merge 31 commits intodevelopfrom
refactor/#177-ui-mapper

Conversation

@wjdrjs00
Copy link
Member

[ PR Content ]

domain <-> presentation 계층간 model mapper를 구현했습니다.

Related issue

Screenshot 📸

  • N/A

Work Description

  • domain <-> presentation model 간 Mapper 정의
    • 확장함수 방식으로 통일
  • state, sideEffectcontract 패키지 안으로 이동
  • data 계층 model에 대한 dto접미사를 제거하고 request, response로 통일
  • recommendroutine 서버 명세에 맞게 타입 변경(id: int -> Long)
  • 중복 사용중인 enum class 하나로 통일 (routineCategory, reportCategory, ReportStatus)

To Reviewers 📢

  • 변경된 파일이 많은데 대부분 단순한 로직 또는 네이밍에 대한 변경사항입니다!
  • 주요 변경사항은 Work Description에 자세히 적었습니다! 궁금하거나 질문은 리뷰 달아주십쇼!

- nullable이던 TodayEmotion을 non-null인 DailyEmotion으로 변경하고, 감정 등록 여부를 나타내는 `hasEmotion` 프로퍼티를 추가했습니다.
- `emotionMarbleType`을 String에서 `EmotionMarbleType` enum 클래스로 변경하여 타입 안정성을 강화했습니다.
- 관련 클래스 및 변수명을 `TodayEmotion`에서 `DailyEmotion`으로 일괄 변경했습니다. (`fetchTodayEmotion` -> `fetchDailyEmotion`)
- DayRoutinesUiModel -> DailyRoutinesUiModel
- RoutinesUiModel -> RoutineScheduleUiModel
- 불필요한 Parcelize 제거
- SubRoutine -> SubRoutineUiModel로 클래스명 변경
- 도메인 모델을 UI 모델로 변환하는 확장 함수 추가
- WriteRoutineViewModel에서 변경된 SubRoutineUiModel을 사용하도록 수정
- Onboarding에서 사용하는 UiModel 클래스명에 `UiModel` 접미사를 추가했습니다.
- Domain Model을 UiModel로 변환하는 Mapper 함수를 추가하고, 기존의 `from` 팩토리 메서드를 대체했습니다.
- Presentation 레이어에서 사용하던 ReportCategory, ReportProcess enum 클래스를 삭제하고, Domain 레이어의 모델을 직접 사용하도록 변경합니다.
- Domain Model을 UiModel로 변환하는 로직을 각 UiModel의 companion object에서 확장 함수(toUiModel)로 변경합니다.
@wjdrjs00 wjdrjs00 requested a review from l5x5l February 15, 2026 12:40
@wjdrjs00 wjdrjs00 self-assigned this Feb 15, 2026
@wjdrjs00 wjdrjs00 added 🔨 Refactor 기존 기능 개선 🧤 대현 labels Feb 15, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 15, 2026

Important

Review skipped

Too many files!

This PR contains 187 files, which is 37 over the limit of 150.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch refactor/#177-ui-mapper

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔨 Refactor 기존 기능 개선 🧤 대현

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[REFACTOR] domain, presentation 계층간 model mapper를 구현합니다.

1 participant