refactor: worker_id → user_id 전체 마이그레이션 (Phase 1-4)
sso_users.user_id를 단일 식별자로 통합. JWT에서 worker_id 제거, department_id/is_production 추가. 백엔드 15개 모델, 11개 컨트롤러, 4개 서비스, 7개 라우트, 프론트엔드 32+ JS/11+ HTML 변환. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,7 +10,7 @@ const TbmController = {
|
||||
try {
|
||||
const sessionData = {
|
||||
session_date: req.body.session_date,
|
||||
leader_id: req.body.leader_id || null,
|
||||
leader_user_id: req.body.leader_user_id || null,
|
||||
project_id: req.body.project_id || null,
|
||||
work_location: req.body.work_location || null,
|
||||
work_description: req.body.work_description || null,
|
||||
@@ -135,7 +135,7 @@ const TbmController = {
|
||||
try {
|
||||
const assignmentData = {
|
||||
session_id: req.params.sessionId,
|
||||
worker_id: req.body.worker_id,
|
||||
user_id: req.body.user_id,
|
||||
assigned_role: req.body.assigned_role || null,
|
||||
work_detail: req.body.work_detail || null,
|
||||
is_present: req.body.is_present,
|
||||
@@ -148,7 +148,7 @@ const TbmController = {
|
||||
work_hours: req.body.work_hours !== undefined ? req.body.work_hours : undefined
|
||||
};
|
||||
|
||||
if (!assignmentData.worker_id) {
|
||||
if (!assignmentData.user_id) {
|
||||
return res.status(400).json({ success: false, message: '작업자 ID가 필요합니다.' });
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ const TbmController = {
|
||||
try {
|
||||
const assignmentData = {
|
||||
session_id: req.params.sessionId,
|
||||
worker_id: req.body.worker_id,
|
||||
user_id: req.body.user_id,
|
||||
work_hours: req.body.work_hours,
|
||||
project_id: req.body.project_id || null,
|
||||
work_type_id: req.body.work_type_id || null,
|
||||
@@ -173,7 +173,7 @@ const TbmController = {
|
||||
workplace_id: req.body.workplace_id || null
|
||||
};
|
||||
|
||||
if (!assignmentData.worker_id || !assignmentData.work_hours) {
|
||||
if (!assignmentData.user_id || !assignmentData.work_hours) {
|
||||
return res.status(400).json({ success: false, message: '작업자 ID와 작업시간이 필요합니다.' });
|
||||
}
|
||||
|
||||
@@ -218,8 +218,8 @@ const TbmController = {
|
||||
|
||||
removeTeamMember: async (req, res) => {
|
||||
try {
|
||||
const { sessionId, workerId } = req.params;
|
||||
const result = await TbmModel.removeTeamMember(sessionId, workerId);
|
||||
const { sessionId, userId } = req.params;
|
||||
const result = await TbmModel.removeTeamMember(sessionId, userId);
|
||||
|
||||
if (result.affectedRows === 0) {
|
||||
return res.status(404).json({ success: false, message: '팀원을 찾을 수 없습니다.' });
|
||||
@@ -432,17 +432,17 @@ const TbmController = {
|
||||
try {
|
||||
const handoverData = {
|
||||
session_id: req.body.session_id,
|
||||
from_leader_id: req.body.from_leader_id,
|
||||
to_leader_id: req.body.to_leader_id,
|
||||
from_leader_user_id: req.body.from_leader_user_id,
|
||||
to_leader_user_id: req.body.to_leader_user_id,
|
||||
handover_date: req.body.handover_date,
|
||||
handover_time: req.body.handover_time || null,
|
||||
reason: req.body.reason,
|
||||
handover_notes: req.body.handover_notes || null,
|
||||
worker_ids: req.body.worker_ids || []
|
||||
user_ids: req.body.user_ids || []
|
||||
};
|
||||
|
||||
if (!handoverData.session_id || !handoverData.from_leader_id ||
|
||||
!handoverData.to_leader_id || !handoverData.handover_date || !handoverData.reason) {
|
||||
if (!handoverData.session_id || !handoverData.from_leader_user_id ||
|
||||
!handoverData.to_leader_user_id || !handoverData.handover_date || !handoverData.reason) {
|
||||
return res.status(400).json({ success: false, message: '필수 정보가 누락되었습니다.' });
|
||||
}
|
||||
|
||||
@@ -483,7 +483,7 @@ const TbmController = {
|
||||
|
||||
getMyPendingHandovers: async (req, res) => {
|
||||
try {
|
||||
const toLeaderId = req.user.worker_id;
|
||||
const toLeaderId = req.user.user_id;
|
||||
if (!toLeaderId) {
|
||||
return res.status(400).json({ success: false, message: '작업자 정보를 찾을 수 없습니다.' });
|
||||
}
|
||||
@@ -532,10 +532,10 @@ const TbmController = {
|
||||
|
||||
createTransfer: async (req, res) => {
|
||||
try {
|
||||
const { transfer_type, worker_id, source_session_id, dest_session_id, hours,
|
||||
const { transfer_type, user_id, source_session_id, dest_session_id, hours,
|
||||
project_id, work_type_id, task_id, workplace_category_id, workplace_id } = req.body;
|
||||
|
||||
if (!transfer_type || !worker_id || !source_session_id || !dest_session_id || !hours) {
|
||||
if (!transfer_type || !user_id || !source_session_id || !dest_session_id || !hours) {
|
||||
return res.status(400).json({ success: false, message: '필수 정보가 누락되었습니다.' });
|
||||
}
|
||||
|
||||
@@ -545,7 +545,7 @@ const TbmController = {
|
||||
String(today.getDate()).padStart(2, '0');
|
||||
|
||||
const transferData = {
|
||||
transfer_type, worker_id, source_session_id, dest_session_id,
|
||||
transfer_type, user_id, source_session_id, dest_session_id,
|
||||
hours, initiated_by: req.user.user_id, transfer_date: transferDate,
|
||||
project_id, work_type_id, task_id, workplace_category_id, workplace_id
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user