Skip to content

feat: 일별 목표(DailyGoal) 도메인 모델 및 API 구현#39

Merged
robinjoon merged 1 commit intomainfrom
ticket/#38
Mar 24, 2026
Merged

feat: 일별 목표(DailyGoal) 도메인 모델 및 API 구현#39
robinjoon merged 1 commit intomainfrom
ticket/#38

Conversation

@robinjoon
Copy link
Copy Markdown
Member

Summary

  • goal BC 내에 DailyGoal 엔티티를 추가하여 "특정 날짜에 목표를 배치"하는 개념 구현
  • GraphQL API는 별도 DailyGoal 타입 없이 Goal 중심으로 단순화 — myGoals(filter: GoalFilter) 필터로 조회
  • addDailyGoal / removeDailyGoal mutation은 goalId + date 기반으로 동작
  • GoalFilter에 id(단건), ids(복수), title(부분일치), assignedDate(날짜 배치) 지원 — id > ids > title 우선순위, assignedDate는 AND

주요 변경

  • Domain: DailyGoal, DailyGoalId, DailyGoalCommand(Add/Remove), GoalQuery 확장
  • Application: GoalService에 addDailyGoal, removeDailyGoal, findById 추가
  • Infrastructure: DailyGoalTable, ExposedDailyGoalRepository, V5 Flyway 마이그레이션
  • Presentation: goal.graphqls 확장 (GoalFilter, AddDailyGoalInput, RemoveDailyGoalInput), GoalDataFetcher 업데이트
  • Tests: DailyGoalTest, DailyGoalIdTest, GoalServiceTest 확장

Test plan

  • Domain 단위 테스트 (DailyGoal 생성, 소유자 확인, DailyGoalId 검증)
  • Application 단위 테스트 (addDailyGoal 정상/목표없음/권한없음/중복, removeDailyGoal 정상/없음, assignedDate 필터)
  • 기존 GoalDataFetcherTest 통과 확인 (하위 호환성)
  • 전체 테스트 스위트 통과

Closes #38

🤖 Generated with Claude Code

특정 날짜에 목표를 배치하는 DailyGoal 기능을 goal BC 내부에 구현.
내부 도메인 모델(DailyGoal 엔티티)은 유지하되, GraphQL API는 Goal 중심으로
단순화하여 myGoals 필터(GoalFilter)로 조회하는 방식 채택.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@robinjoon robinjoon merged commit 7b343ba into main Mar 24, 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.

feat: 일별 목표(DailyGoal) 도메인 모델 구현

1 participant