Skip to content

Commit

Permalink
[Fix] #196 로컬 알림 생성 및 수정 로직 변경
Browse files Browse the repository at this point in the history
요일까지 identifier에 포함시켜서 요일별로 알림을 생성할 수 있게 변경
알림 수정의 경우 합집합을 사용하여 삭제된 요일까지 포함시켜 알림을 싹 다 날리고
req body에 있는 알림들을 생성하는 로직으로 구현함
  • Loading branch information
EunsuSeo01 committed Oct 23, 2023
1 parent 081e203 commit d00e919
Showing 1 changed file with 14 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ extension DetailUpperViewModel {
// 알림 생성
if reqBody.alarmEnabled {
for weekday in weekdayArray {
self.createPushAlarm(title: reqBody.title, weekday: weekday, hour: timeArray[0], minute: timeArray[1], identifier: "LOWER_GOAL_\(response.data)")
self.createPushAlarm(title: reqBody.title, weekday: weekday, hour: timeArray[0], minute: timeArray[1], identifier: "LOWER_GOAL_\(response.data)_\(weekday)")
}
}
case .failure(let error):
Expand Down Expand Up @@ -258,16 +258,26 @@ extension DetailUpperViewModel {
case .success(let response):
Logger.debugDescription(response)

// 기존 알림 취소
self.removePushAlarm(identifiers: ["LOWER_GOAL_\(response.data)"])
// 합집합 사용해서 제거된 요일 + 추가된 요일 구하기
let lowerGoal = self.thisLowerGoal.value
let set1 = Set(lowerGoal.alarmDays)
let set2 = Set(reqBody.alarmDays)
let union = set1.union(set2)
let unionWeekdayArray = self.formatPushWeekday(alarmDays: Array(union))

for weekday in unionWeekdayArray {
// 알림 취소
self.removePushAlarm(identifiers: ["LOWER_GOAL_\(response.data)_\(weekday)"])
}

let weekdayArray = self.formatPushWeekday(alarmDays: reqBody.alarmDays)
let timeArray = self.formatPushAlarmTime(alarmTime: reqBody.alarmTime)

// 업데이트 된 정보로 알림 다시 생성
if reqBody.alarmEnabled {
for weekday in weekdayArray {
self.createPushAlarm(title: reqBody.title, weekday: weekday, hour: timeArray[0], minute: timeArray[1], identifier: "LOWER_GOAL_\(response.data)")
// 알림 새로 생성
self.createPushAlarm(title: reqBody.title, weekday: weekday, hour: timeArray[0], minute: timeArray[1], identifier: "LOWER_GOAL_\(response.data)_\(weekday)")
}
}
case .failure(let error):
Expand Down

0 comments on commit d00e919

Please sign in to comment.