docs(message_bizppurio): 삭제 시 채널 정리 CHANGELOG 기재 + 알림톡 연동 저장 방식 주석 정정
플러그인 삭제 시 문자·알림톡 채널이 정리되고 재설치 시 복원된다는 사용자 관점 항목을 CHANGELOG 에 추가한다. 알림톡 연동 저장 방식이 "코어 저장 훅 편승"에서 "행 하단 [연결/변경] 버튼 → 우리 연결 모달 → 우리 API 직접 저장"으로 확정됐으나 일부 주석이 옛 설명으로 남아 있어, 실제 구현과 일치하도록 3곳을 정정한다(로직 불변).
This commit is contained in:
@@ -35,6 +35,7 @@
|
||||
- 검수 모드로 발송된 문자·알림톡은 발송 이력 화면에 "발송중" 대신 "검수" 라벨로 표시되어, 실제 장애와 검수 도메인 특성을 운영자가 쉽게 구분할 수 있습니다.
|
||||
- 문자·알림톡 발송 시 비즈뿌리오에 실제로 전송한 요청 내용을 이력에 함께 저장합니다. 발송이 실패했을 때 어떤 내용이 전송됐는지 사후에 확인할 수 있습니다.
|
||||
- 알림톡 템플릿이 연결되지 않았거나 문자 템플릿이 없는 등 발송 자체를 시도하지 못한 경우, 관리자 알림 발송 이력 화면에 "성공"이 아닌 "실패"로 정확히 표시됩니다.
|
||||
- 플러그인을 삭제하면 이 플러그인이 알림 설정에 추가했던 문자·알림톡 채널이 함께 정리됩니다. 메일·사이트 내 알림 등 다른 채널과 알림 자체는 그대로 유지되며, 플러그인을 다시 설치하면 문자·알림톡 채널이 자동으로 복원됩니다.
|
||||
|
||||
### Changed
|
||||
|
||||
|
||||
+3
-3
@@ -25,9 +25,9 @@ use App\Services\SettingsService;
|
||||
* ChannelManager 에 등록되어야 발화하므로, 드라이버 등록은 ServiceProvider::boot() 가
|
||||
* 담당한다(이 리스너는 채널 "노출·판정"만 책임진다).
|
||||
*
|
||||
* 알림톡 탭은 코어 기본 목록·편집 모달을 그대로 사용한다(Phase 6 재설계, 계획서 ⚑⚑ 블록 A).
|
||||
* 연결 템플릿·SMS 대체 등 알림톡 전용 설정은 코어 편집 모달에 전용 칸을 overlay 로 얹고
|
||||
* 코어 저장 훅(core.notification_template.filter_update_data/after_update)에 편승해 저장하므로,
|
||||
* 알림톡 탭은 코어 기본 목록을 그대로 사용한다(Phase 6 재설계, 계획서 ⚑⚑ 블록 A).
|
||||
* 연결 템플릿·SMS 대체 등 알림톡 전용 설정은 코어 목록 행 하단에 overlay 로 얹은
|
||||
* [연결/변경] 버튼 → 우리 연결 모달 → 우리 API(notification-bindings)로 직접 저장하므로,
|
||||
* 이 리스너는 코어 목록을 숨기는 별도 플래그를 두지 않는다.
|
||||
*/
|
||||
class RegisterNotificationChannelsListener implements HookListenerInterface
|
||||
|
||||
+11
-10
@@ -11,13 +11,13 @@ use Plugins\Sirsoft\MessageBizppurio\Repositories\Contracts\BizppurioNotificatio
|
||||
/**
|
||||
* 이벤트↔알림톡 템플릿 연동(binding) 서비스 (계획서 §6-2, Phase 6 재설계 A).
|
||||
*
|
||||
* 알림 설정 알림톡 탭은 코어 기본 목록·편집 모달을 그대로 사용한다(⚑⚑ 결정 A). 연결 템플릿·
|
||||
* SMS 대체는 코어 편집 모달에 얹은 전용 칸에서 입력하고, 코어 [저장] 훅
|
||||
* (core.notification_template.filter_update_data/after_update)에 편승해 이 서비스의
|
||||
* bind/unbind 로 저장된다(별도 저장 버튼·우리 목록 API 없음).
|
||||
* 알림 설정 알림톡 탭은 코어 기본 목록을 그대로 사용한다(⚑⚑ 결정 A). 연결 템플릿·SMS 대체는
|
||||
* 코어 목록 행 하단에 얹은 [연결/변경] 버튼 → 우리 연결 모달에서 입력하고, 우리 API
|
||||
* (POST notification-bindings)로 이 서비스의 bind/unbind 를 직접 호출해 저장된다
|
||||
* (코어 저장 버튼과 무관).
|
||||
*
|
||||
* 이 서비스는 (1) 코어 편집 모달 전용 칸이 소비하는 조회 — 승인 템플릿 드롭다운(approvedTemplates)
|
||||
* 과 현재 연동 맵(all) — 및 (2) 저장 훅 리스너가 호출하는 bind/unbind 를 제공한다.
|
||||
* 이 서비스는 (1) 연결 모달이 소비하는 조회 — 승인 템플릿 드롭다운(approvedTemplates)
|
||||
* 과 현재 연동 맵(all) — 및 (2) 연결 모달 저장이 호출하는 bind/unbind 를 제공한다.
|
||||
*
|
||||
* 연결 대상 템플릿 드롭다운은 "발송 가능(승인) 상태" 템플릿만 노출한다 — 미승인 템플릿에
|
||||
* 연동해도 발송이 거부되기 때문. 승인 판정은 AlimtalkTemplateService 의 배지 매핑(RDY/ACT
|
||||
@@ -173,11 +173,12 @@ class NotificationBindingService
|
||||
}
|
||||
|
||||
/**
|
||||
* 코어 편집 모달 전용 칸이 넘긴 값으로 연동을 반영합니다 (저장 훅 편승).
|
||||
* 연결 모달이 넘긴 값으로 연동을 반영합니다.
|
||||
*
|
||||
* 코어 알림 템플릿 [저장] 훅(after_update)에서 호출된다. 연결 템플릿 코드가 비어 있으면
|
||||
* 연동 해제, 있으면 생성/갱신한다. 이 "빈 값=해제" 규칙 덕분에 편집 모달에서 드롭다운을
|
||||
* "연결 안 함"으로 바꾸고 저장하면 코어 저장 한 번으로 해제까지 처리된다.
|
||||
* 우리 연결 저장 API(NotificationBindingController::store → POST notification-bindings)에서
|
||||
* 호출된다. 연결 템플릿 코드가 비어 있으면 연동 해제, 있으면 생성/갱신한다. 이 "빈 값=해제"
|
||||
* 규칙 덕분에 연결 모달에서 드롭다운을 "연결 안 함"으로 바꾸고 저장하면 저장 한 번으로
|
||||
* 해제까지 처리된다.
|
||||
*
|
||||
* @param string $notificationType 코어 notification_definitions.type
|
||||
* @param string|null $templateCode 연결할 카카오 템플릿 코드 (빈 값=해제)
|
||||
|
||||
Reference in New Issue
Block a user