Initial
This commit is contained in:
97
src/socket-server/services/users/user-controller.ts
Normal file
97
src/socket-server/services/users/user-controller.ts
Normal 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}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user