feat(tkuser): 알림 시스템 이관 system1-factory → tkuser
- Phase 1: tkuser에 알림 CRUD, Push/ntfy 발송, 내부 알림 API 추가 - Phase 2: notifyHelper URL을 tkuser-api:3000으로 전환 (system2, tkpurchase, tksafety, system1) - Phase 3: notification-bell.js API 도메인 tkuser로 변경 + 캐시 버스팅 v=4 - Phase 4: system1에서 알림 코드 제거 (routes, controllers, models, utils) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// models/equipmentModel.js
|
||||
const { getDb } = require('../dbPool');
|
||||
const notificationModel = require('./notificationModel');
|
||||
const notifyHelper = require('../utils/notifyHelper');
|
||||
|
||||
const EquipmentModel = {
|
||||
// CREATE - 설비 생성
|
||||
@@ -669,17 +669,16 @@ const EquipmentModel = {
|
||||
['repair_needed', requestData.equipment_id]
|
||||
);
|
||||
|
||||
try {
|
||||
await notificationModel.createRepairNotification({
|
||||
equipment_id: requestData.equipment_id,
|
||||
equipment_name: requestData.equipment_name || '설비',
|
||||
repair_type: requestData.repair_type || '일반 수리',
|
||||
request_id: result.insertId,
|
||||
created_by: requestData.reported_by
|
||||
});
|
||||
} catch (notifError) {
|
||||
// 알림 생성 실패해도 수리 신청은 성공으로 처리
|
||||
}
|
||||
// fire-and-forget: 알림 실패가 수리 신청을 블로킹하면 안 됨
|
||||
notifyHelper.send({
|
||||
type: 'repair',
|
||||
title: `수리 신청: ${requestData.equipment_name || '설비'}`,
|
||||
message: `${requestData.repair_type || '일반 수리'} 수리가 신청되었습니다.`,
|
||||
link_url: '/pages/admin/repair-management.html',
|
||||
reference_type: 'work_issue_reports',
|
||||
reference_id: result.insertId,
|
||||
created_by: requestData.reported_by
|
||||
}).catch(() => {});
|
||||
|
||||
return {
|
||||
report_id: result.insertId,
|
||||
|
||||
Reference in New Issue
Block a user