diff --git a/src/controllers/storeController.js b/src/controllers/storeController.js index d29b88b7..64efb6b5 100644 --- a/src/controllers/storeController.js +++ b/src/controllers/storeController.js @@ -2718,13 +2718,18 @@ exports.getOrdersByInstallationId = async (req, reply) => { // Step 2: Process each order for (const order of orders) { // Filter master_connections to keep active ones - const activeMasters = (order.master_connections || []).filter(mc => - mc.work_status === 'active' || mc.work_status === '' || mc.work_status == null + const activeMasters = (order.master_connections || []).filter( + (mc) => + mc.work_status === "active" || + mc.work_status === "" || + mc.work_status == null ); if (activeMasters.length) { // Fetch customer details - const customer = await User.findOne({ customerId: order.customerId }).lean(); + const customer = await User.findOne({ + customerId: order.customerId, + }).lean(); // Find assigned team members from installation.team_member.team_member let assignedTeamMembersDetails = []; @@ -2735,15 +2740,21 @@ exports.getOrdersByInstallationId = async (req, reply) => { order.assignedTeamMembers && order.assignedTeamMembers.length > 0 ) { - assignedTeamMembersDetails = installationDoc.team_member.team_member.filter(tm => - order.assignedTeamMembers.includes(tm.teamMemberId) - ); + assignedTeamMembersDetails = + installationDoc.team_member.team_member.filter((tm) => + order.assignedTeamMembers.includes(tm.teamMemberId) + ); } + // Extract work_status from first active master + const work_status = + activeMasters.length > 0 ? activeMasters[0].work_status : null; + // Build response ordersWithDetails.push({ ...order.toObject(), master_connections: activeMasters, + work_status, // 👈 placed above customer customer: customer || null, assignedTeamMembersDetails, }); @@ -2755,7 +2766,6 @@ exports.getOrdersByInstallationId = async (req, reply) => { message: "Orders with active master connections fetched successfully", data: ordersWithDetails, }); - } catch (err) { console.error("Error fetching orders:", err); return reply.status(500).send({ error: "Internal server error" }); @@ -2766,6 +2776,7 @@ exports.getOrdersByInstallationId = async (req, reply) => { + exports.getPendingOrdersByInstallationAndTeamMember = async (req, reply) => { try { const { installationId, teamMemberId } = req.params;