Slackbot
03/06/2020, 2:11 AMTony Won
Hyeseong Kim
03/06/2020, 2:12 AMHyeseong Kim
03/06/2020, 2:12 AMEricHan
03/06/2020, 2:14 AMTony Won
EricHan
03/06/2020, 2:14 AMEricHan
03/06/2020, 2:15 AMEricHan
03/06/2020, 2:15 AMEricHan
03/06/2020, 2:15 AMEricHan
03/06/2020, 2:17 AMHyeseong Kim
03/06/2020, 2:18 AMmutation AddPeople(input: ...) {
# 응답 코드같은게 필요하면 스칼라 타입으로 넣습니다.
result
person # 생성된 User... 당연히 필요할거구요
# 중요한 건 실제 뷰를 mutate 해야 한다는 점입니다.
# 가령 말씀하신대로 팀 관련 정보가 업데이트 된다고 치면 업데이트 될 팀을 넘겨줘야 합니다.
team
}
뮤테이션이 왜 “뮤테이션“으로 이름지어 졌는가는 클라이언트 관점에서 생각하셔야 합니다.
해당 뮤테이션이 mutate 하는 건 클라이언트 (화면) 에서 의존하는 어떠어떠한 부분이다 라는걸 선언해주시면 graphql client 가 해당 부분을 찾아 레코드를 업데이트 하는거에요. ID 스칼라도 해당 부분을 식별하기 위해 있는거구요Hyeseong Kim
03/06/2020, 2:19 AMTony Won
Hyeseong Kim
03/06/2020, 2:19 AMEricHan
03/06/2020, 2:24 AMHyeseong Kim
03/06/2020, 2:27 AMHyeseong Kim
03/06/2020, 2:27 AMmutation CreateDayOffForm(input: {
...
}) {
dayOffForm: createDayOffForm(input: {
...
}) {
id
# 폼 의존성 업데이트
...DayOffForm_subject
user {
id
dayOffCount(year: $year) {
...DayOffCountCardContainer_dayOffCount
}
workReport(input: {
...
}) {
# 근무 리포트 - 근무시간차트 의존성 업데이트
...MonthlyWorkReport_WorkTimeChart
}
workData(input: {
...
}) {
# 월간 캘린더 - 휴가 등록 가능한 날짜 별 행 업데이트
...WorkCalendarCard_dailyAggregationSource
dailyAggregation @client {
...WorkCalendarCard_HalfDayOffDayRow
...WorkCalendarCard_FullDayOffDayRow
}
# 주간 캘린더 - 스케줄 업데이트
...WorkCalendarCard_schedulesSource
schedules @client {
...WorkCalendarCard_WeeklyCalendar_dayOffSchedule
}
}
}
}
}
EricHan
03/06/2020, 2:27 AMEricHan
03/06/2020, 2:28 AMHyeseong Kim
03/06/2020, 2:30 AMEricHan
03/06/2020, 2:33 AMHyeseong Kim
03/06/2020, 2:33 AMHyeseong Kim
03/06/2020, 2:34 AM