This commit is contained in:
SathishKannaa-HexrFactory
2025-01-22 16:59:14 +05:30
commit a28398259c
42 changed files with 2313 additions and 0 deletions

View File

@@ -0,0 +1,97 @@
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}
}
}