import cameraModel from "../../../shared/model/camera/camera-Model" import userModel from "../../../shared/model/user-Model" export const activeUsers = async (data: any) => { try { if (data && data.email) { const email = data.email const organization = email.split("@")[1].split(".")[0] const findUser = await userModel(organization).findOne({email}) if (findUser) { const updateActiveStatus = await userModel(organization).findOneAndUpdate({email:findUser.email},{activeStatus:"online"},{new:true}) if (updateActiveStatus) { const cameraDatas=await cameraModel(organization).findOne({userId:updateActiveStatus._id}) .select("position target rotation -_id"); if (cameraDatas) { const result = { position: cameraDatas.position, target: cameraDatas.target, rotation: cameraDatas.rotation, userData: { _id: updateActiveStatus._id, userName: updateActiveStatus.userName, email: updateActiveStatus.email, }, }; return { success: true, message: 'user connect ', data: result,organization:organization } // return result; } } } }else { console.error('Invalid data or missing email:', data); // Handle the error or return a default value // Example: Return an error response if the email is invalid return { success: false, message: 'Email is missing or invalid', } // return res.status(400).send({ message: 'Email is missing or invalid' }); } // // return []; } catch (error) { return { success: false, message:error} } } export const activeUserOffline = async (data: any) => { try { const email = data.email const organization = email.split("@")[1].split(".")[0] const findUsers = await userModel(organization).findOne({email}) // console.log('findUsers: ', findUsers); if (findUsers) { const updateActiveStatus = await userModel(organization).findOneAndUpdate({email:email},{activeStatus:"offline"},{new:true}) // console.log('updateActiveStatus: ',updateActiveStatus); if (updateActiveStatus) { const cameraDatas=await cameraModel(organization).findOne({userId:updateActiveStatus._id}) .select("position target rotation -_id"); // console.log('cameraDatas: ', cameraDatas); if (cameraDatas) { const result = { position: cameraDatas.position, target: cameraDatas.target, rotation: cameraDatas.rotation, userData: { _id: updateActiveStatus._id, userName: updateActiveStatus.userName, email: updateActiveStatus.email, }, }; // console.log("Formatted Result:", result); // return result; return { success: true, message: 'user disconnect', data: result,organization:organization } } } } // // return []; } catch (error) { return { success: false, message: error} } }