Latest Project, Trash and setting API and sockets along with the Model clearance

This commit is contained in:
2025-05-17 10:12:18 +05:30
parent c64e5ea8b5
commit 0b30a8aeaa
66 changed files with 1109 additions and 2351 deletions

View File

@@ -1,7 +1,7 @@
import { Request, Response } from "express";
import floorItemsModel from "../../../shared/model/assets/flooritems-Model.ts";
export class floorItems {
export class FloorItems {
static async setFloorItems(req: Request, res: Response) {
try {
const {
@@ -57,7 +57,6 @@ export class floorItems {
static async getFloorItems(req: Request, res: Response) {
try {
const { organization } = req.params;
// console.log('req.params: ', req.params);
const findValue = await floorItemsModel(organization).find();
if (!findValue) {

View File

@@ -74,7 +74,7 @@ interface IPointStaticMachine extends IPointBase {
targets: { modelUUID: string; pointUUID: string }[];
};
}
export class pointService {
export class PointService {
static async addPoints(req: Request, res: Response): Promise<any> {
const { type, modelfileID, organization } = req.body;

View File

@@ -1,80 +1,92 @@
import { Request, Response } from "express";
import wallItenmModel from "../../../shared/model/assets/wallitems-Model.ts";
import wallItemModel from "../../../shared/model/builder/assets/wallitems-Model.ts";
export class WallItems {
static async setWallItems(req: Request, res: Response) {
try {
const {
modelUuid,
modelName,
position,
type,
csgposition,
csgscale,
quaternion,
scale,
organization,
} = req.body;
export class wallItems {
static async setWallItems(req: Request, res: Response) {
try {
const { modelUuid, modelName, position, type, csgposition,csgscale,quaternion,scale,organization } = req.body
const findvalue = await wallItemModel(organization).findOne({
modelUuid: modelUuid,
});
const findvalue = await wallItenmModel(organization).findOne({ modelUuid: modelUuid})
if (findvalue) {
const updatevalue = await wallItenmModel(organization).findOneAndUpdate(
{ modelUuid: modelUuid },
{
modelName,
position,
type,
csgposition,
csgscale,
quaternion,
scale,
},
{ new: true } // Return the updated document
);
res.status(201).json(updatevalue);
if (findvalue) {
const updatevalue = await wallItemModel(organization).findOneAndUpdate(
{ modelUuid: modelUuid },
{
modelName,
position,
type,
csgposition,
csgscale,
quaternion,
scale,
},
{ new: true } // Return the updated document
);
res.status(201).json(updatevalue);
} else {
const newValue = await wallItemModel(organization).create({
modelUuid,
modelName,
position,
type,
csgposition,
csgscale,
quaternion,
scale,
});
} else {
const newValue = await wallItenmModel(organization).create({ modelUuid,modelName, position, type, csgposition,csgscale,quaternion,scale });
res.status(201).json(newValue);
}
res.status(201).json(newValue);
}
// Send response with the created document
} catch (error) {
console.error('Error creating wallitems:', error);
res.status(500).json({ message: "Failed to create wallitems" });
}
// Send response with the created document
} catch (error) {
console.error("Error creating wallitems:", error);
res.status(500).json({ message: "Failed to create wallitems" });
}
static async getWallItems(req: Request, res: Response) {
try {
const { organization } = req.params;
}
static async getWallItems(req: Request, res: Response) {
try {
const { organization } = req.params;
const findValue = await wallItenmModel
(organization).find()
if (!findValue) {
res.status(200).json("wallitems not found");
} else {
res.status(201).json(findValue);
}
} catch (error) {
console.error('Error get wallitems:', error);
res.status(500).json({ error: "Failed to get wallitems" });
}
const findValue = await wallItemModel(organization).find();
if (!findValue) {
res.status(200).json("wallitems not found");
} else {
res.status(201).json(findValue);
}
} catch (error) {
console.error("Error get wallitems:", error);
res.status(500).json({ error: "Failed to get wallitems" });
}
static async deleteWallItems(req: Request, res: Response) {
try {
const { modelUuid,modelName,organization } = req.body;
}
static async deleteWallItems(req: Request, res: Response) {
try {
const { modelUuid, modelName, organization } = req.body;
const findValue = await wallItenmModel
(organization).findOneAndDelete({modelUuid:modelUuid,modelName:modelName})
if (!findValue) {
res.status(200).json("user not found");
} else {
res.status(201).json(findValue);
}
} catch (error) {
console.error('Error get wallitems:', error);
res.status(500).json({ error: "Failed to get wallitems" });
}
const findValue = await wallItemModel(organization).findOneAndDelete({
modelUuid: modelUuid,
modelName: modelName,
});
if (!findValue) {
res.status(200).json("user not found");
} else {
res.status(201).json(findValue);
}
} catch (error) {
console.error("Error get wallitems:", error);
res.status(500).json({ error: "Failed to get wallitems" });
}
}
}

View File

@@ -2,88 +2,96 @@ import { Request, Response } from "express";
import cameraModel from "../../../shared/model/camera/camera-Model.ts";
import userModel from "../../../shared/model/user-Model.ts";
export class camera {
static async createCamera(req: Request, res: Response) {
try {
const { userId, position, target, rotation,organization } = req.body
export class Camera {
static async createCamera(req: Request, res: Response) {
try {
const { userId, position, target, rotation, organization } = req.body;
const findCamera = await cameraModel(organization).findOne({ userId: userId })
if (findCamera) {
const updateCamera = await cameraModel(organization).findOneAndUpdate(
{ userId: userId }, { position: position, target: target,rotation:rotation }, { new: true });
res.status(201).json(updateCamera);
const findCamera = await cameraModel(organization).findOne({
userId: userId,
});
} else {
const newCamera = await cameraModel(organization).create({ userId, position, target,rotation });
res.status(201).json(newCamera);
}
// Send response with the created document
} catch (error) {
console.error('Error creating camera:', error);
res.status(500).json({message:"Failed to create camera"});
}
}
static async getCamera(req: Request, res: Response) {
try {
const { userId, organization } = req.params;
// if (!userId) {
// res.status(201).json("User data is insufficient");
// }
const findCamera = await cameraModel(organization).findOne({ userId: userId })
if (!findCamera) {
res.status(200).json("user not found");
} else {
res.status(201).json(findCamera);
}
} catch (error) {
console.error('Error get camera:', error);
res.status(500).json({ error: "Failed to get camera" });
}
}
static async onlineActiveDatas(req: Request, res: Response) {
const {organization } = req.params;
try {
const findactiveUsers = await userModel(organization).find({activeStatus:"online"})
const cameraDataPromises = findactiveUsers.map(async (activeUser:any) => {
const cameraData = await cameraModel(organization)
.findOne({ userId: activeUser._id })
.select("position target rotation -_id");
if (cameraData) {
return {
position: cameraData.position,
target: cameraData.target,
rotation:cameraData.rotation,
userData: {
_id: activeUser._id,
userName: activeUser.userName,
email: activeUser.email,
activeStatus: activeUser.activeStatus,
},
};
}
// Return null if no camera data is found for the user
return null;
if (findCamera) {
const updateCamera = await cameraModel(organization).findOneAndUpdate(
{ userId: userId },
{ position: position, target: target, rotation: rotation },
{ new: true }
);
res.status(201).json(updateCamera);
} else {
const newCamera = await cameraModel(organization).create({
userId,
position,
target,
rotation,
});
const cameraDatas = (await Promise.all(cameraDataPromises)).filter((singledata:any) => singledata !== null);
res.status(201).json(newCamera);
}
res.status(200).send({ cameraDatas });
} catch (error:any) {
res.status(500).send(error);
}
// Send response with the created document
} catch (error) {
console.error("Error creating camera:", error);
res.status(500).json({ message: "Failed to create camera" });
}
}
static async getCamera(req: Request, res: Response) {
try {
const { userId, organization } = req.params;
const findCamera = await cameraModel(organization).findOne({
userId: userId,
});
if (!findCamera) {
res.status(200).json("user not found");
} else {
res.status(201).json(findCamera);
}
} catch (error) {
console.error("Error get camera:", error);
res.status(500).json({ error: "Failed to get camera" });
}
}
static async onlineActiveDatas(req: Request, res: Response) {
const { organization } = req.params;
try {
const findactiveUsers = await userModel(organization).find({
activeStatus: "online",
});
const cameraDataPromises = findactiveUsers.map(
async (activeUser: any) => {
const cameraData = await cameraModel(organization)
.findOne({ userId: activeUser._id })
.select("position target rotation -_id");
if (cameraData) {
return {
position: cameraData.position,
target: cameraData.target,
rotation: cameraData.rotation,
userData: {
_id: activeUser._id,
userName: activeUser.userName,
email: activeUser.email,
activeStatus: activeUser.activeStatus,
},
};
}
// Return null if no camera data is found for the user
return null;
}
);
const cameraDatas = (await Promise.all(cameraDataPromises)).filter(
(singledata: any) => singledata !== null
);
res.status(200).send({ cameraDatas });
} catch (error: any) {
res.status(500).send(error);
}
}
}

View File

@@ -1,7 +1,7 @@
import { Request, Response } from "express";
import environmentModel from "../../../shared/model/environments/environments-Model.ts";
export class environment {
export class Environment {
static async setEnvironment(req: Request, res: Response) {
try {
const {

View File

@@ -1,125 +1,116 @@
import { Request, Response } from "express";
import lineModel from "../../../shared/model/lines/lines-Model.ts";
export class lines {
static async setLines(req: Request, res: Response) {
try {
const {organization,layer,line,type}=req.body
const newLine = await lineModel(organization).create({ layer,line,type });
res.status(201).json(newLine);
// Send response with the created document
} catch (error) {
console.error('Error creating Lines:', error);
res.status(500).json({message:"Failed to create Lines"});
}
export class Lines {
static async setLines(req: Request, res: Response) {
try {
const { organization, layer, line, type } = req.body;
const newLine = await lineModel(organization).create({
layer,
line,
type,
});
res.status(201).json(newLine);
// Send response with the created document
} catch (error) {
console.error("Error creating Lines:", error);
res.status(500).json({ message: "Failed to create Lines" });
}
static async updateLines(req: Request, res: Response) {
try {
const {organization,uuid,position,}=req.body
// const findLine = await lineModel(organization).find({ 'line.uuid': uuid });
// Update the position of the line matching the uuid
}
static async updateLines(req: Request, res: Response) {
try {
const { organization, uuid, position } = req.body;
// const findLine = await lineModel(organization).find({ 'line.uuid': uuid });
// Update the position of the line matching the uuid
const updateResult = await lineModel(organization).updateMany(
{ "line.uuid": uuid }, // Filter: Find the line with the given uuid
{ $set: { "line.$.position": position } } // Update the position and type
);
res.status(201).json(updateResult);
// Send response with the created document
} catch (error) {
console.error("Error creating Lines:", error);
res.status(500).json({ message: "Failed to create Lines" });
}
}
static async getLines(req: Request, res: Response) {
try {
const { organization } = req.params;
const findValue = await lineModel(organization).find();
if (!findValue) {
res.status(200).json("user not found");
} else {
res.status(201).json(findValue);
}
} catch (error) {
console.error("Error get Lines:", error);
res.status(500).json({ error: "Failed to get Lines" });
}
}
static async deleteLineItems(req: Request, res: Response) {
try {
const { organization, layer, line, type } = req.body;
const inputUuids = line.map((item: any) => item.uuid);
const findValue = await lineModel(organization).findOneAndDelete({
"line.uuid": { $all: inputUuids },
});
if (!findValue) {
res.status(200).json("data not found");
} else {
res.status(201).json(findValue);
}
} catch (error) {
console.error("Error delete Lines:", error);
res.status(500).json({ error: "Failed to delete Lines" });
}
}
static async deleteLinPoiteItems(req: Request, res: Response) {
try {
const { organization, layer, uuid, type } = req.body;
const findValue = await lineModel(organization).deleteMany({
"line.uuid": uuid,
});
if (!findValue) {
res.status(200).json("data not found");
} else {
res.status(201).json(findValue);
}
} catch (error) {
console.error("Error delete Lines:", error);
res.status(500).json({ error: "Failed to delete Lines" });
}
}
static async deleteLayer(req: Request, res: Response) {
try {
const { organization, layer } = req.body;
const findValue = await lineModel(organization).find({ layer: layer });
if (!findValue) {
res.status(200).json("data not found");
} else {
await lineModel(organization).deleteMany({ layer: layer });
const updateResult = await lineModel(organization).updateMany(
{ 'line.uuid': uuid }, // Filter: Find the line with the given uuid
{ $set: { 'line.$.position': position } } // Update the position and type
{ layer: { $gt: layer } },
{ $inc: { layer: -1 } }
);
res.status(201).json(updateResult);
// Send response with the created document
} catch (error) {
console.error('Error creating Lines:', error);
res.status(500).json({message:"Failed to create Lines"});
}
}
static async getLines(req: Request, res: Response) {
try {
const { organization } = req.params;
const findValue = await lineModel(organization).find()
if (!findValue) {
res.status(200).json("user not found");
} else {
res.status(201).json(findValue);
}
} catch (error) {
console.error('Error get Lines:', error);
res.status(500).json({ error: "Failed to get Lines" });
}
}
static async deleteLineItems(req: Request, res: Response) {
try {
const {organization,layer,line,type}=req.body
const inputUuids = line.map((item: any) => item.uuid);
// const findValue = await lineModel(organization).findOneAndDelete({
// line: { $elemMatch: { uuid: { $in: inputUuids } } },
// });
const findValue = await lineModel(organization).findOneAndDelete({
"line.uuid": { $all: inputUuids } // Ensure all UUIDs are present in the `line` key
});
if (!findValue) {
res.status(200).json("data not found");
} else {
res.status(201).json(findValue);
}
} catch (error) {
console.error('Error delete Lines:', error);
res.status(500).json({ error: "Failed to delete Lines" });
}
}
static async deleteLinPoiteItems(req: Request, res: Response) {
try {
const {organization,layer,uuid,type}=req.body
const findValue = await lineModel(organization).deleteMany({ 'line.uuid': uuid })
if (!findValue) {
res.status(200).json("data not found");
} else {
res.status(201).json(findValue);
}
} catch (error) {
console.error('Error delete Lines:', error);
res.status(500).json({ error: "Failed to delete Lines" });
}
}
static async deleteLayer(req: Request, res: Response) {
try {
const {organization,layer}=req.body
// Fetch the documents with the specified layer value
const findValue = await lineModel(organization).find({ layer: layer });
if (!findValue) {
res.status(200).json("data not found");
} else {
await lineModel(organization).deleteMany({ layer: layer });
// console.log(`Documents with layer ${layer} have been deleted.`);
// Update documents with layer greater than -1
const updateResult = await lineModel(organization).updateMany(
{ layer: { $gt:layer} },
{ $inc: { layer: -1 } } // Example operation: decrementing layer by 1
);
res.status(201).json(updateResult);
}
} catch (error) {
console.error('Error delete Lines:', error);
res.status(500).json({ error: "Failed to delete Lines" });
}
res.status(201).json(updateResult);
}
} catch (error) {
console.error("Error delete Lines:", error);
res.status(500).json({ error: "Failed to delete Lines" });
}
}
}

View File

@@ -1,88 +0,0 @@
import { Request, Response } from "express";
import zoneModel from "../../../shared/model/lines/zone-Model.ts";
export class zone {
static async setZone(req: Request, res: Response) {
try {
const { organization, userId, zoneData } = req.body
// console.log('req.body: ', req.body);
const zoneId = zoneData.zoneId
const points = zoneData.points
const zoneName = zoneData.zoneName
const layer = zoneData.layer
const viewPortCenter = zoneData.viewPortCenter
const viewPortposition = zoneData.viewPortposition
const findZoneId = await zoneModel(organization).findOne({ zoneId: zoneId })
if (findZoneId) {
const updateZone = await zoneModel(organization).findOneAndUpdate(
{ zoneId: zoneId }, { points: points, viewPortposition: viewPortposition, viewPortCenter: viewPortCenter }, { new: true }
).select("-_id -__v")
res.status(201).json({ message: 'zone updated', data: updateZone, organization: organization })
} else {
const zoneCreate = await zoneModel(organization).create({
zoneId, createBy: userId, zoneName: zoneName, points, layer, viewPortCenter, viewPortposition
})
const createdZone = await zoneModel(organization)
.findById(zoneCreate._id)
.select('-_id -__v')
.lean();
res.status(201).json({ message: 'zone created', data: createdZone, organization: organization })
}
} catch (error) {
console.log('error: ', error);
res.status(500).json({ message: 'Zone not found', error })
}
}
static async deleteZone(req: Request, res: Response) {
try {
const { organization, userId, zoneId } = req.body
const findZoneId = await zoneModel(organization).findOne({ zoneId: zoneId })
if (findZoneId) {
const deleteZone = await zoneModel(organization).findOneAndDelete(
{ zoneId: zoneId, createBy: userId }
).select("-_id -__v")
res.status(201).json({ message: 'zone deleted', data: deleteZone, organization: organization })
} else {
res.status(500).json({ message: 'Invalid zone ID' })
}
} catch (error) {
console.log('error: ', error);
res.status(500).json({ message: 'Zone not found', error })
}
}
static async getZones(req: Request, res: Response) {
try {
const { organization, userId } = req.params
const findZoneId = await zoneModel(organization)
.find()
.select("zoneId zoneName layer points viewPortCenter viewPortposition -_id");
if (!findZoneId) {
res.status(500).json({ message: 'Invalid zone' })
}
res.status(201).json({ data: findZoneId, organization: organization })
} catch (error) {
console.log('error: ', error);
res.status(500).json({ message: 'Zone not found', error })
}
}
static async ZoneData(req: Request, res: Response): Promise<any> {
try {
const organization = req.params.organization;
const zoneId = req.params.zoneId;
const findZone = await zoneModel(organization)
.findOne({ zoneId: zoneId })
// .select("zoneName");
console.log("findZone: ", findZone);
if (findZone) return res.status(200).json(findZone);
} catch (error: any) {
return res.status(500).send(error.message);
}
}
}

View File

@@ -2,7 +2,7 @@ import { Request, Response } from "express";
import zoneSchema from "../../../shared/model/builder/lines/zone-Model.ts";
import panelSchema from "../../../shared/model/vizualization/panelmodel.ts";
import widgetSchema from "../../../shared/model/vizualization/widgemodel.ts";
export class Zoneservice {
export class ZoneService {
static async addandUpdateZone(req: Request, res: Response): Promise<any> {
try {
const organization = req.body.organization;

View File

@@ -0,0 +1,59 @@
import { Request, Response } from "express";
import { WallItems } from "../../../shared/services/wall/wallItemservice.ts";
import { error } from "console";
export const WallSetup = async (req: Request, res: Response): Promise<void> => {
try {
const {
modelUuid,
modelName,
position,
type,
csgposition,
csgscale,
quaternion,
scale,
organization,
} = req.body;
if (
!modelUuid ||
!modelName ||
!position ||
!type ||
!csgscale ||
!csgposition ||
!quaternion ||
!scale ||
!organization
) {
res.status(400).json({
message: "All fields are required!",
});
return;
}
const result = await WallItems.setWallItems({
modelUuid,
modelName,
position,
type,
csgposition,
csgscale,
quaternion,
scale,
organization,
});
switch (result.state) {
case "Updated successfully":
res.status(201).json(result.data);
break;
case "wall Item created successfully":
res.status(201).json(result.data);
break;
default:
res.status(500).json(error);
break;
}
} catch (error: unknown) {
res.status(500).json({ message: "Unknown error" });
}
};

View File

@@ -1,43 +1,46 @@
import { Request, Response } from "express";
import userModel from "../../../shared/model/user-Model.ts";
export class Share {
static async shareUser(req: Request, res: Response) {
try {
const { email, isShare, organization } = req.body;
export class share {
static async shareUser(req: Request, res: Response) {
try {
const { email, isShare, organization } = req.body
const findValue = await userModel(organization).findOneAndUpdate(
{ email: email },
{ isShare: isShare },
{ new: true }
);
const findValue = await userModel(organization).findOneAndUpdate({email:email},{isShare:isShare},{new:true})
res.status(201).json({message:"scene shared successfully",data:findValue});
if (!findValue) {
res.status(404).json({message:"Not found"})
}
// Send response with the created document
} catch (error) {
console.error('Error creating Share:', error);
res.status(500).json({message:"Failed to create Share"});
}
res
.status(201)
.json({ message: "scene shared successfully", data: findValue });
if (!findValue) {
res.status(404).json({ message: "Not found" });
}
// Send response with the created document
} catch (error) {
console.error("Error creating Share:", error);
res.status(500).json({ message: "Failed to create Share" });
}
static async findshareUser(req: Request, res: Response) {
try {
const organization = req.query.organization as string;
const findValue = await userModel(organization).find({}).select("isShare email userName -_id")
// console.log('findValue: ', findValue);
res.status(201).json({message:"scene shared datas",data:findValue});
if (!findValue) {
res.status(404).json({message:"Not found"})
}
// Send response with the created document
} catch (error) {
console.error('Error Share:', error);
res.status(500).json({message:"Failed to Share datas "});
}
}
}
static async findshareUser(req: Request, res: Response) {
try {
const organization = req.query.organization as string;
const findValue = await userModel(organization)
.find({})
.select("isShare email userName -_id");
res.status(201).json({ message: "scene shared datas", data: findValue });
if (!findValue) {
res.status(404).json({ message: "Not found" });
}
// Send response with the created document
} catch (error) {
console.error("Error Share:", error);
res.status(500).json({ message: "Failed to Share datas " });
}
}
}

View File

@@ -1,182 +1,9 @@
import { Request, Response } from "express";
import assetModel from "../../../shared/model/builder/assets/asset-Model.ts";
import actionModel from "../../../shared/model/simulation/actionmodel.ts";
import triggerModel from "../../../shared/model/simulation/triggersmodel.ts";
import pointModel from "../../../shared/model/builder/assets/assetPoint-Model.ts";
import EventsDataModel from "../../../shared/model/simulation/eventsDataModel.ts";
export class assetsFloorservice {
// static async setFloorassets(req: Request, res: Response): Promise<any> {
// try {
// const {
// modelUuid,
// modelName,
// position,
// modelfileID,
// rotation,
// isLocked,
// isVisible,
// organization,
// eventData,
// } = req.body;
// console.log("req.body: ", req.body);
// const findvalue = await assetModel(organization).findOne({
// modelUuid,
// // modelName,
// isArchive: false,
// });
// const checkpointType = await pointModel(organization).findOne({
// modelfileID: modelfileID,
// isArchive: false,
// });
// if (findvalue) {
// const updatevalue = await assetModel(organization).findOneAndUpdate(
// { modelUuid, isArchive: false },
// {
// modelName: modelName,
// position,
// rotation,
// isVisible,
// isLocked,
// },
// { new: true }
// );
// return res.status(201).json(updatevalue);
// } else {
// let assetData: any = {
// modelUuid,
// modelName,
// position,
// modelfileID,
// rotation,
// isLocked,
// isVisible,
// };
// console.log("eventData: ", eventData);
// if (eventData) {
// if (eventData.type === "Conveyor") {
// assetData.speed = eventData.speed;
// } else if (eventData.type === "Vehicle") {
// assetData.speed = eventData.points.speed;
// if (!eventData.points) {
// return res
// .status(400)
// .json({ message: "Vehicle points must be a single object" });
// }
// // if (eventData.points.rotation) {
// // return res.status(400).json({
// // message: "Rotation is not allowed for Vehicle points",
// // });
// // }
// if (eventData.points.triggers) {
// return res.status(400).json({
// message: "triggers is not allowed for Vehicle points",
// });
// }
// }
// // else if(eventData.type === "ArmBot"){
// // assetData.speed = eventData.position;
// // }else if(eventData.type === "StaticMachine"){
// // assetData.speed = eventData.position;
// // }
// assetData.points = eventData.points;
// assetData.type = eventData.type;
// }
// const assetDoc = await assetModel(organization).create(assetData);
// await assetDoc.save();
// return res.status(201).json({
// message: "Model stored successfully",
// modelId: assetDoc._id,
// });
// }
// } catch (error) {
// console.error("Error creating flooritems:", error);
// res.status(500).json({ message: "Failed to create flooritems" });
// }
// }
// static async getFloorItems(req: Request, res: Response): Promise<any> {
// try {
// const { organization } = req.params;
// const findValues = await assetModel(organization)
// .find({ isArchive: false })
// .select("-_id -isArchive");
// if (!findValues || findValues.length === 0) {
// return res.status(200).json({ message: "floorItems not found" });
// }
// const response = findValues.map((item) => {
// // console.log("item: ", item);
// // console.log("item: ", item.type);
// // console.log('findValues: ', findValues);
// // console.log("item.points: ", item.points);
// const responseItem: any = {
// modelUuid: item.modelUuid,
// modelName: item.modelName,
// position: item.position,
// rotation: item.rotation,
// modelfileID: item.modelfileID,
// isLocked: item.isLocked,
// isVisible: item.isVisible,
// };
// if (item.type === "Conveyor" && item.points.length > 0) {
// responseItem.eventData = {
// speed: item.speed,
// points: item.points,
// type: item.type,
// };
// }
// if (item.type === "Vehicle" && item.points) {
// responseItem.eventData = {
// type: item.type,
// points: item.points,
// };
// }
// if (item.type === "ArmBot" && item.points) {
// responseItem.eventData = {
// type: item.type,
// points: item.points,
// };
// }
// if (item.type === "StaticMachine" && item.points) {
// responseItem.eventData = {
// type: item.type,
// points: item.points,
// };
// }
// return responseItem;
// });
// return res.status(200).json(response);
// } catch (error) {
// res.status(500).json({ error: "Failed to get flooritems" });
// }
// }
// static async deleteFloorItems(req: Request, res: Response): Promise<any> {
// try {
// const { modelUuid, modelName, organization } = req.body;
// const findValue = await assetModel(organization).findOneAndDelete({
// modelUuid: modelUuid,
// modelName: modelName,
// isArchive: false,
// });
// if (!findValue) {
// res.status(200).json("user not found");
// } else {
// res.status(201).json(findValue);
// }
// } catch (error) {
// res.status(500).json({ error: "Failed to get flooritems" });
// }
// }
export class AssetsFloorService {
static async updateAssetPositionRotation(
req: Request,
res: Response
@@ -186,11 +13,11 @@ export class assetsFloorservice {
modelUuid,
modelName,
position,
modelfileID,
rotation,
isLocked,
isVisible,
organization,
// modelfileID, //optional
// eventData, // Optional
} = req.body;
@@ -244,7 +71,6 @@ export class assetsFloorservice {
return res.status(500).send(error.message);
}
}
//update setfoolrassets//getFloorItems//deleteFloorItems.........
static async setFloorassets(req: Request, res: Response): Promise<any> {
try {
const {
@@ -265,7 +91,7 @@ export class assetsFloorservice {
// modelName,
isArchive: false,
});
const checkpointType = await pointModel(organization).findOne({
await pointModel(organization).findOne({
modelfileID: modelfileID,
isArchive: false,
});
@@ -292,10 +118,9 @@ export class assetsFloorservice {
rotation,
isLocked,
isVisible,
eventData
eventData,
};
console.log("eventData: ", eventData);
if (eventData) {
if (eventData.type === "Conveyor") {
assetData.speed = eventData.speed;
@@ -306,24 +131,12 @@ export class assetsFloorservice {
.status(400)
.json({ message: "Vehicle points must be a single object" });
}
// if (eventData.points.rotation) {
// return res.status(400).json({
// message: "Rotation is not allowed for Vehicle points",
// });
// }
if (eventData.points.triggers) {
return res.status(400).json({
message: "triggers is not allowed for Vehicle points",
});
}
}
// else if(eventData.type === "ArmBot"){
// assetData.speed = eventData.position;
// }else if(eventData.type === "StaticMachine"){
// assetData.speed = eventData.position;
// }
assetData.points = eventData.points;
assetData.type = eventData.type;
}
@@ -352,10 +165,6 @@ export class assetsFloorservice {
}
const response = findValues.map((item) => {
// console.log("item: ", item);
// console.log("item: ", item.type);
// console.log('findValues: ', findValues);
// console.log("item.points: ", item.points);
const responseItem: any = {
modelUuid: item.modelUuid,
modelName: item.modelName,
@@ -366,36 +175,9 @@ export class assetsFloorservice {
isVisible: item.isVisible,
eventData: item.eventData,
};
// if (item.type === "Conveyor" && item.points.length > 0) {
// responseItem.eventData = {
// speed: item.speed,
// points: item.points,
// type: item.type,
// };
// }
// if (item.type === "Vehicle" && item.points) {
// responseItem.eventData = {
// type: item.type,
// points: item.points,
// };
// }
// if (item.type === "ArmBot" && item.points) {
// responseItem.eventData = {
// type: item.type,
// points: item.points,
// };
// }
// if (item.type === "StaticMachine" && item.points) {
// responseItem.eventData = {
// type: item.type,
// points: item.points,
// };
// }
return responseItem;
});
// console.log('response: ', response);
return res.status(200).json(response);
} catch (error) {
res.status(500).json({ error: "Failed to get flooritems" });
@@ -404,36 +186,35 @@ export class assetsFloorservice {
static async deleteFloorItems(req: Request, res: Response): Promise<any> {
try {
const { modelUuid, modelName, organization } = req.body;
console.log('req.body:', req.body);
const asset = await assetModel(organization).findOne({
modelUuid,
modelName,
isArchive: false,
});
if (!asset) {
return res.status(404).json({ message: "Model not found" });
}
const archivedAsset = await assetModel(organization).findOneAndUpdate(
{ modelUuid, modelName },
{ $set: { isArchive: true } },
{ new: true }
);
if (!archivedAsset) {
return res.status(500).json({ message: "Failed to archive asset" });
}
const updatedEvents = await EventsDataModel(organization).updateMany(
{ modelUuid },
{ $set: { isArchive: true } }
);
console.log("Archived asset:", archivedAsset);
console.log("Updated events:", updatedEvents.modifiedCount);
return res.status(200).json({ message: "delete Asset successfully" });
} catch (error) {
console.error("Error deleting floor items:", error);

View File

@@ -1,249 +0,0 @@
// import { Request, Response } from "express";
// // import assetModel from "../../../shared/model/assets/flooritems-Model.ts";
// import assetModel from "../../../shared/model/builder/assets/asset-Model.ts";
// import actionModel from "../../../shared/model/simulation/actionmodel.ts";
// import triggerModel from "../../../shared/model/simulation/triggersmodel.ts";
// import productFlowModel from "../../../shared/model/simulation/ProductFlowmodel.ts";
// export class productFlowservice {
// static async setproductFlow(req: Request, res: Response): Promise<any> {
// try {
// const {
// productName,
// modelUuid,
// modelName,
// eventData,
// organization,
// productID,
// } = req.body;
// // Validate required fields
// if (!modelUuid || !modelName || !organization) {
// return res.status(400).json({ message: "Missing required fields" });
// }
// // Check if asset exists
// const existingAsset = await assetModel(organization).findOne({
// modelUuid: modelUuid,
// isArchive: false,
// });
// if (!existingAsset) {
// return res.status(404).json({ message: "Asset not found for the ID" });
// }
// // Prepare point references
// let pointRefs: any[] = [];
// if (eventData?.points && Array.isArray(eventData.points)) {
// for (const point of eventData.points) {
// let actionRefs: any[] = [];
// let triggerRefs: any[] = [];
// // Process actions
// if (Array.isArray(point.actions)) {
// for (const action of point.actions) {
// const actionDoc = await actionModel(organization).create({
// pointsUUID: point.uuid,
// isArchive: false,
// uuid: action.uuid,
// name: action.name,
// type: action.type,
// material: action.material || null,
// delay: action.delay || null,
// spawn_Interval: action.spawn_Interval || null,
// });
// actionRefs.push({
// _id: actionDoc._id,
// ...action,
// });
// }
// }
// // Process triggers
// if (Array.isArray(point.triggers)) {
// for (const trigger of point.triggers) {
// const triggerDoc = await triggerModel(organization).create({
// pointsUUID: point.uuid,
// isArchive: false,
// uuid: trigger.uuid,
// name: trigger.name,
// type: trigger.type,
// bufferTime: trigger.bufferTime || null,
// });
// triggerRefs.push({
// _id: triggerDoc._id,
// ...trigger,
// });
// }
// }
// pointRefs.push({
// pointuuid: point.uuid,
// position: point.position || [],
// rotation: point.rotation || [],
// actions: actionRefs,
// triggers: triggerRefs,
// connections: point.connections || null,
// });
// }
// }
// // Check if product flow exists
// const existingproductData = await productFlowModel(organization).findOne({
// _id: productID,
// });
// let result;
// if (existingproductData) {
// // Update existing product flow
// result = await productFlowModel(organization).findOneAndUpdate(
// { _id: productID },
// {
// $push: {
// ProductData: {
// AssetName: modelName,
// Assetuuid: modelUuid,
// paths: {
// Points: pointRefs,
// },
// isArchive: false,
// },
// },
// },
// { new: true }
// );
// } else {
// // Create new product flow
// result = await productFlowModel(organization).create({
// _id: productID,
// productName: productName,
// ProductData: [
// {
// AssetName: modelName,
// Assetuuid: modelUuid,
// paths: {
// Points: pointRefs,
// },
// isArchive: false,
// },
// ],
// eventType: eventData?.type || null,
// speed: eventData?.speed || null,
// });
// }
// res.status(201).json({
// message: "Product flow processed successfully",
// data: result,
// });
// } catch (error) {
// console.error("Error creating flooritems:", error);
// res.status(500).json({ message: "Failed to create flooritems" });
// }
// }
// static async pointActionList(req: Request, res: Response): Promise<any> {}
// static async productpathsList(req: Request, res: Response): Promise<any> {
// try {
// const { organization } = req.params;
// const productFlowList = await productFlowModel(organization)
// .find()
// .select("ProductData productName -_id")
// .exec();
// const formattedData = await Promise.all(
// productFlowList.map(async (item) => ({
// productName: item.productName,
// paths: await Promise.all(
// item.ProductData.map(async (data: any) => ({
// Points: await Promise.all(
// data.paths.Points.map(async (point: any) => {
// const actions = await actionModel(organization)
// .find({ _id: { $in: point.actions } })
// .select(
// "-_id -pointsUUID -isArchive -createdAt -updatedAt -__v"
// )
// .lean();
// const triggers = await triggerModel(organization)
// .find({ _id: { $in: point.triggers } })
// .select(
// "-_id -pointsUUID -isArchive -createdAt -updatedAt -__v"
// )
// .lean();
// return {
// connections: point.connections || null,
// pointuuid: point.pointuuid,
// actions: actions,
// triggers: triggers,
// position: point.position,
// rotation: point.rotation,
// };
// })
// ),
// }))
// ),
// }))
// );
// return res.status(200).json(formattedData);
// } catch (error) {
// console.error("Error get flooritems:", error);
// res.status(500).json({ error: "Failed to get flooritems" });
// }
// }
// // static async deleteFloorItems(req: Request, res: Response): Promise<any> {
// // try {
// // const { modelUuid, modelName, organization } = req.body;
// // const findValue = await assetModel(organization).findOneAndDelete({
// // modelUuid: modelUuid,
// // modelName: modelName,
// // isArchive: false,
// // });
// // if (!findValue) {
// // res.status(200).json("user not found");
// // } else {
// // res.status(201).json(findValue);
// // }
// // } catch (error) {
// // console.error("Error get flooritems:", error);
// // res.status(500).json({ error: "Failed to get flooritems" });
// // }
// // }
// // static async updateAssetPositionRotation(
// // req: Request,
// // res: Response
// // ): Promise<any> {
// // try {
// // const {
// // modelUuid,
// // modelName,
// // position,
// // modelfileID,
// // rotation,
// // isLocked,
// // isVisible,
// // organization,
// // // eventData, // Optional
// // } = req.body;
// // const existingAsset = await assetModel(organization).findOne({
// // modelUuid: modelUuid,
// // isArchive: false,
// // });
// // if (!existingAsset) return res.send("Asset not found");
// // const updateAsset = await assetModel(organization).updateMany(
// // { modelUuid: modelUuid, modelName: modelName, isArchive: false },
// // {
// // position: position,
// // rotation: rotation,
// // isVisible: isVisible,
// // isLocked: isLocked,
// // }
// // );
// // if (updateAsset)
// // return res.status(200).json({ message: "Asset updated successfully" });
// // } catch (error: any) {
// // return res.send(error.message);
// // }
// // }
// // static async updateActionsDatas(req: Request, res: Response) {}
// }

View File

@@ -2,256 +2,237 @@ import { Request, Response } from "express";
import ProductModel from "../../../shared/model/simulation/productModel.ts";
import EventsDataModel from "../../../shared/model/simulation/eventsDataModel.ts";
export class productFlowservice {
static async productAdd(req: Request, res: Response): Promise<any> {
try {
const { productName, productId, eventDatas, organization } = req.body;
if (!organization) {
return res
.json({ message: "organization not found" });
export class ProductFlowservice {
static async productAdd(req: Request, res: Response): Promise<any> {
try {
const { productName, productId, eventDatas, organization } = req.body;
if (!organization) {
return res.json({ message: "organization not found" });
}
const existingProduct = await ProductModel(organization).findOne({
productId: productId,
isArchive: false,
});
if (existingProduct) {
const existingEventData = await EventsDataModel(organization).findOne({
productId: productId,
modelUuid: eventDatas.modelUuid,
isArchive: false,
});
if (existingEventData) {
await EventsDataModel(organization).findOneAndUpdate(
{
modelUuid: eventDatas.modelUuid,
productId: productId,
isArchive: false,
},
{
modelUuid: eventDatas?.modelUuid,
modelName: eventDatas?.modelName,
position: eventDatas?.position,
rotation: eventDatas?.rotation,
type: eventDatas?.type,
speed: eventDatas?.speed,
point: eventDatas?.point,
points: eventDatas?.points,
}
const existingProduct = await ProductModel(organization).findOne({
productId: productId,
isArchive: false,
})
if (existingProduct) {
const existingEventData = await EventsDataModel(organization).findOne(
{
productId: productId,
modelUuid: eventDatas.modelUuid,
isArchive: false,
})
if (existingEventData) {
const updateEventData = await EventsDataModel(organization).findOneAndUpdate(
{
modelUuid: eventDatas.modelUuid,
productId: productId,
isArchive: false,
}
, {
modelUuid: eventDatas?.modelUuid,
modelName: eventDatas?.modelName,
position: eventDatas?.position,
rotation: eventDatas?.rotation,
type: eventDatas?.type,
speed: eventDatas?.speed,
point: eventDatas?.point,
points: eventDatas?.points,
})
return res
.status(200)
.json({ message: "EventData updated successfully" });
} else {
const addEventData = await EventsDataModel(organization).create({
productId: productId,
modelUuid: eventDatas?.modelUuid,
modelName: eventDatas?.modelName,
position: eventDatas?.position,
rotation: eventDatas?.rotation,
type: eventDatas?.type,
speed: eventDatas?.speed,
point: eventDatas?.point,
points: eventDatas?.points
})
return res
.status(201)
.json({ message: "EventData add successfully" });
}
} else {
const newProduct = await ProductModel(organization).create({
productId: productId,
productName: productName
})
if (newProduct) {
if (eventDatas) {
const addEventData = await EventsDataModel(organization).create({
productId: productId,
modelUuid: eventDatas?.modelUuid,
modelName: eventDatas?.modelName,
position: eventDatas?.position,
rotation: eventDatas?.rotation,
type: eventDatas?.type,
speed: eventDatas?.speed,
point: eventDatas?.point,
points: eventDatas?.points,
})
}
}
return res
.status(201)
.json({ message: "Product created successfully" });
}
} catch (error) {
res.status(500).json({ message: "Failed to create product" });
);
return res
.status(200)
.json({ message: "EventData updated successfully" });
} else {
await EventsDataModel(organization).create({
productId: productId,
modelUuid: eventDatas?.modelUuid,
modelName: eventDatas?.modelName,
position: eventDatas?.position,
rotation: eventDatas?.rotation,
type: eventDatas?.type,
speed: eventDatas?.speed,
point: eventDatas?.point,
points: eventDatas?.points,
});
return res
.status(201)
.json({ message: "EventData add successfully" });
}
}
static async getProductDatas(req: Request, res: Response): Promise<any> {
try {
const { productId, organization } = req.query
if (typeof productId !== "string" || typeof organization !== "string") {
return res.status(400).json({ message: "Missing or invalid query parameters" });
}
const existingProduct = await ProductModel(organization).findOne({
productId: productId,
isArchive: false,
})
if (!existingProduct)
return res.status(404).json({ message: "Product not found" });
const existingEventDatas = await EventsDataModel(organization).find({ productId: productId }).select("-productId")
return res
.status(200)
.json(existingEventDatas);
} catch (error) {
res.status(500).json({ message: "Failed to get product" });
} else {
const newProduct = await ProductModel(organization).create({
productId: productId,
productName: productName,
});
if (newProduct) {
if (eventDatas) {
await EventsDataModel(organization).create({
productId: productId,
modelUuid: eventDatas?.modelUuid,
modelName: eventDatas?.modelName,
position: eventDatas?.position,
rotation: eventDatas?.rotation,
type: eventDatas?.type,
speed: eventDatas?.speed,
point: eventDatas?.point,
points: eventDatas?.points,
});
}
}
return res
.status(201)
.json({ message: "Product created successfully" });
}
} catch (error) {
res.status(500).json({ message: "Failed to create product" });
}
static async productDataDelete(req: Request, res: Response): Promise<any> {
try {
const { productId, organization } = req.query
if (typeof productId !== "string" || typeof organization !== "string") {
return res.status(400).json({ message: "Missing or invalid query parameters" });
}
const existingProduct = await ProductModel(organization).findOne({
productId: productId,
isArchive: false,
})
}
static async getProductDatas(req: Request, res: Response): Promise<any> {
try {
const { productId, organization } = req.query;
if (typeof productId !== "string" || typeof organization !== "string") {
return res
.status(400)
.json({ message: "Missing or invalid query parameters" });
}
const existingProduct = await ProductModel(organization).findOne({
productId: productId,
isArchive: false,
});
if (!existingProduct)
return res.status(404).json({ message: "Product not found" });
if (!existingProduct)
return res.status(404).json({ message: "Product not found" });
const productDelete = await ProductModel(organization).findOneAndUpdate(
{ productId: productId },
{
isArchive: true,
}, { new: true }
)
const existingEventDatas = await EventsDataModel(organization).find({ productId: productId })
if (existingEventDatas) {
for (const event of existingEventDatas) {
await EventsDataModel(organization).updateMany(
{ productId },
{ $set: { isArchive: true } }
);
}
}
return res.status(201).json({ message: "product deleted successfully" });
} catch (error) {
res.status(500).json({ message: "Failed to delete product" });
}
const existingEventDatas = await EventsDataModel(organization)
.find({ productId: productId })
.select("-productId");
return res.status(200).json(existingEventDatas);
} catch (error) {
res.status(500).json({ message: "Failed to get product" });
}
static async EventDataDelete(req: Request, res: Response): Promise<any> {
try {
const { productId, organization, modelUuid } = req.body
}
static async productDataDelete(req: Request, res: Response): Promise<any> {
try {
const { productId, organization } = req.query;
if (typeof productId !== "string" || typeof organization !== "string") {
return res
.status(400)
.json({ message: "Missing or invalid query parameters" });
}
const existingProduct = await ProductModel(organization).findOne({
productId: productId,
isArchive: false,
});
const existingProduct = await ProductModel(organization).findOne({
productId: productId,
isArchive: false,
})
if (!existingProduct)
return res.status(404).json({ message: "Product not found" });
const existingEventDatas = await EventsDataModel(organization).findOneAndUpdate(
{ productId: productId, modelUuid: modelUuid }, {
isArchive: true,
}, { new: true }
)
return res.status(201).json({ message: "EventData deleted successfully" });
} catch (error) {
res.status(500).json({ message: "Failed to delete Eventdata" });
}
if (!existingProduct)
return res.status(404).json({ message: "Product not found" });
await ProductModel(organization).findOneAndUpdate(
{ productId: productId },
{
isArchive: true,
},
{ new: true }
);
const existingEventDatas = await EventsDataModel(organization).find({
productId: productId,
});
if (existingEventDatas) {
// for (const event of existingEventDatas) {
await EventsDataModel(organization).updateMany(
{ productId },
{ $set: { isArchive: true } }
);
// }
}
return res.status(201).json({ message: "product deleted successfully" });
} catch (error) {
res.status(500).json({ message: "Failed to delete product" });
}
static async AllProductDatas(req: Request, res: Response): Promise<any> {
try {
const { organization } = req.params
}
static async EventDataDelete(req: Request, res: Response): Promise<any> {
try {
const { productId, organization, modelUuid } = req.body;
if (!organization) {
return res
.json({ message: "organization not found" });
}
const existingProduct = await ProductModel(organization).findOne({
productId: productId,
isArchive: false,
});
const existingProduct = await ProductModel(organization).find({
isArchive: false,
})
if (!existingProduct) {
return res.status(404).json({ message: 'No products found' });
}
const result = [];
if (!existingProduct)
return res.status(404).json({ message: "Product not found" });
for (const product of existingProduct) {
// Fetch events data for each product, excluding productId field
const eventDatas = await EventsDataModel(organization)
.find({ productId: product.productId, isArchive: false })
.select("-productId -isArchive -createdAt -updatedAt -__v -_id");
// Combine product and event data
result.push({
// product: {
productName: product.productName,
productId: product.productId,
eventDatas,
// },
});
}
// Return combined data
return res.status(200).json(result);
} catch (error) {
res.status(500).json({ message: "Failed to get Allproduct" });
}
await EventsDataModel(organization).findOneAndUpdate(
{ productId: productId, modelUuid: modelUuid },
{
isArchive: true,
},
{ new: true }
);
return res
.status(201)
.json({ message: "EventData deleted successfully" });
} catch (error) {
res.status(500).json({ message: "Failed to delete Eventdata" });
}
static async productRename(req: Request, res: Response): Promise<any> {
}
static async AllProductDatas(req: Request, res: Response): Promise<any> {
try {
const { organization } = req.params;
try {
const { productId, productName, organization } = req.body
if (!organization) {
return res.json({ message: "organization not found" });
}
const existingProduct = await ProductModel(organization).find({
isArchive: false,
});
if (!existingProduct) {
return res.status(404).json({ message: "No products found" });
}
const result = [];
const existingProduct = await ProductModel(organization).findOne({
productId: productId,
isArchive: false,
})
for (const product of existingProduct) {
const eventDatas = await EventsDataModel(organization)
.find({ productId: product.productId, isArchive: false })
.select("-productId -isArchive -createdAt -updatedAt -__v -_id");
if (!existingProduct)
return res.status(404).json({ message: "Product not found" });
const productDelete = await ProductModel(organization).findOneAndUpdate(
{ productId: productId },
{
productName: productName,
}, { new: true }
)
return res.status(201).json({ message: "product Rename successfully" });
} catch (error) {
res.status(500).json({ message: "Failed to product Rename" });
}
result.push({
// product: {
productName: product.productName,
productId: product.productId,
eventDatas,
// },
});
}
return res.status(200).json(result);
} catch (error) {
res.status(500).json({ message: "Failed to get Allproduct" });
}
}
static async productRename(req: Request, res: Response): Promise<any> {
try {
const { productId, productName, organization } = req.body;
const existingProduct = await ProductModel(organization).findOne({
productId: productId,
isArchive: false,
});
if (!existingProduct)
return res.status(404).json({ message: "Product not found" });
await ProductModel(organization).findOneAndUpdate(
{ productId: productId },
{
productName: productName,
},
{ new: true }
);
return res.status(201).json({ message: "product Rename successfully" });
} catch (error) {
res.status(500).json({ message: "Failed to product Rename" });
}
}
}

View File

@@ -1,12 +1,9 @@
import { Request, Response } from "express";
import { Server } from 'http';
import userModel from "../../shared/model/user-Model.ts";
import { isSharedArrayBuffer } from "util/types";
import {hashGenerate,hashValidator} from "../../shared/security/Hasing.ts"
// import {hashGenerate} from '../security/Hasing'
let serverAlive = true;
export class user {
export class User {
static async signup(req: Request, res: Response) {
try {
let role;
@@ -43,7 +40,6 @@ export class user {
try {
let role;
const { email, password,organization } = req.body;
// console.log(' req.body: ', req.body);
const existingMail = await userModel(organization).findOne({
email:email
@@ -57,7 +53,6 @@ export class user {
password,
hashedpassword
)
// console.log('checkpassword: ', checkpassword);
if (checkpassword) {
// const tokenValidation=await tokenGenerator(existingMail.email)
res.status(200).send({
@@ -77,27 +72,5 @@ export class user {
res.status(500).send(error);
}
}
// static async checkserverHealth(server:Server,organization: string){
// try {
// if (server.listening) {
// console.log('Server is running');
// serverAlive = true;
// // Update all users to online status
// } else {
// // await userModel(organization).updateMany({}, { activeStatus: "offline" }); // Replace `activeStatus` with your actual field
// throw new Error('Server is not running');
// }
// } catch (error:any) {
// console.error('Server health check failed:', error.message);
// serverAlive = false;
// // Update all users to offline status
// // await userModel(organization).updateMany({}, { activeStatus: "offline" });
// }
// }
}
// export const startHealthCheck = (server: Server, organization: string) => {
// setInterval(() => user.checkserverHealth(server, organization), 5000);
// };

View File

@@ -1,7 +1,7 @@
import { Request, Response } from "express";
import zoneSchema from "../../../shared/model/builder/lines/zone-Model.ts";
import widget3dModel from "../../../shared/model/vizualization/3dwidget.ts";
export class widget3dService {
export class Widget3dService {
static async add3Dwidget(req: Request, res: Response): Promise<any> {
try {
const { organization, widget, zoneId } = req.body;

View File

@@ -1,7 +1,7 @@
import { Request, Response } from "express";
import floatWidgetModel from "../../../shared/model/vizualization/floatWidget.ts";
import zoneSchema from "../../../shared/model/builder/lines/zone-Model.ts";
export class floatWidgetService {
export class FloatWidgetService {
static async addfloatWidget(req: Request, res: Response): Promise<any> {
try {
const { organization, widget, zoneId } = req.body;
@@ -19,9 +19,7 @@ export class floatWidgetService {
zoneId: zoneId,
});
if (existingFloatWidget) {
const updateFloatWidget = await floatWidgetModel(
organization
).findOneAndUpdate(
await floatWidgetModel(organization).findOneAndUpdate(
{
floatWidgetID: widget.id,
isArchive: false,
@@ -141,65 +139,4 @@ export class floatWidgetService {
return res.status(500).send(error.message);
}
}
// static async updatewidget(req: Request, res: Response): Promise<any> {
// try {
// const { organization, widgetID, values } = req.body;
// const findwidget = await widgetSchema(organization).findOne({
// widgetID: widgetID,
// isArchive: false,
// });
// if (!findwidget)
// return res.status(404).send({ message: "Data not found" });
// const updateData = {
// widgetName: values.widgetName,
// widgetSide: values.widgetSide, // Fixed typo from widgetside to widgetSide
// elementType: values.type,
// Data: {
// measurement: values.Data.measurement,
// duration: values.Data.duration,
// },
// elementColor: values.color,
// fontFamily: values.fontFamily,
// fontStyle: values.fontStyle,
// fontWeight: values.fontWeight,
// isArchive: false,
// };
// const changedWidget = await widgetSchema(organization).findOneAndUpdate(
// { widgetID: widgetID, isArchive: false },
// updateData,
// {
// new: true,
// upsert: true,
// setDefaultsOnInsert: true,
// }
// );
// return res.status(200).json({
// message: "Widget updated successfully",
// });
// } catch (error: any) {
// return res.status(500).send(error.message);
// }
// }
// static async getDatafromWidget(req: Request, res: Response): Promise<any> {
// const { organization, widgetID } = req.params;
// try {
// const existingWidget = await widgetSchema(organization)
// .findOne({
// widgetID: widgetID,
// isArchive: false,
// })
// .select("Data -_id");
// const Datastructure = {
// measurements: existingWidget.Data.measurements || {},
// duration: existingWidget.Data.duration || "1h",
// };
// if (existingWidget) return res.status(200).json({ Data: Datastructure });
// } catch (error: any) {
// return res.status(500).send(error.message);
// }
// }
}

View File

@@ -3,12 +3,12 @@ import panelSchema from "../../../shared/model/vizualization/panelmodel.ts";
import zoneSchema from "../../../shared/model/builder/lines/zone-Model.ts";
import widgetSchema from "../../../shared/model/vizualization/widgemodel.ts";
export class panelService {
export class PanelService {
static async AddPanel(req: Request, res: Response): Promise<any> {
try {
const organization = req.body.organization;
const zoneId = req.body.zoneId;
const panelName = req.body.panelName;
// const panelName = req.body.panelName;
const panelOrder = req.body.panelOrder;
const findZone = await zoneSchema(organization).findOne({
zoneId: zoneId,
@@ -18,7 +18,7 @@ export class panelService {
if (!findZone) {
return res.status(404).json({ message: "Zone not found" });
}
const updatezone = await zoneSchema(organization).findOneAndUpdate(
await zoneSchema(organization).findOneAndUpdate(
{ zoneId: zoneId, isArchive: false },
{ panelOrder: panelOrder },
{ new: true }
@@ -52,10 +52,6 @@ export class panelService {
message: "No new panels were created. All panels already exist.",
});
}
// const IDdata = createdPanels.map((ID: any) => {
// return ID._id;
// });
createdPanels;
return res.status(201).json({
message: "Panels created successfully",
panelID: createdPanels,
@@ -66,7 +62,6 @@ export class panelService {
}
static async deletePanel(req: Request, res: Response): Promise<any> {
try {
console.log("req.body: ", req.body);
const { organization, panelName, zoneId } = req.body;
const existingZone = await zoneSchema(organization).findOne({
zoneId: zoneId,
@@ -81,7 +76,7 @@ export class panelService {
});
if (!existingPanel)
return res.status(409).json({ message: "Panel Already Deleted" });
const updatePanel = await panelSchema(organization).findOneAndUpdate(
await panelSchema(organization).findOneAndUpdate(
{ _id: existingPanel._id, isArchive: false },
{ isArchive: true },
{ new: true }
@@ -96,12 +91,11 @@ export class panelService {
}
if (existingZone.panelOrder.includes(existingPanel.panelName)) {
const index1 = existingZone.panelOrder.indexOf(existingPanel.panelName);
existingZone.panelOrder.indexOf(existingPanel.panelName);
const zonepanelname = await zoneSchema(organization).updateOne(
{ _id: existingZone._id },
{ $pull: { panelOrder: existingPanel.panelName } }
);
console.log("zonepanelname: ", zonepanelname);
}
return res.status(200).json({ message: "Panel deleted successfully" });
@@ -111,7 +105,6 @@ export class panelService {
}
static async clearPanel(req: Request, res: Response): Promise<any> {
try {
console.log("req.body;: ", req.body);
const { organization, panelName, zoneId } = req.body;
const existingZone = await zoneSchema(organization).findOne({
zoneId: zoneId,

View File

@@ -5,7 +5,7 @@ import panelSchema from "../../../shared/model/vizualization/panelmodel.ts";
import widgetSchema from "../../../shared/model/vizualization/widgemodel.ts";
import floatWidgetModel from "../../../shared/model/vizualization/floatWidget.ts";
export class templateService {
export class TemplateService {
static async AddTemplate(req: Request, res: Response): Promise<any> {
try {
const {
@@ -18,7 +18,6 @@ export class templateService {
// snapshot,
// floatWidgets,
} = req.body;
// console.log("req.body: ", req.body);
const existingTemplate = await templateModel(organization).findOne({
templateID: template.id,
isArchive: false,
@@ -181,7 +180,6 @@ export class templateService {
}
static async Deletezone(req: Request, res: Response): Promise<any> {
try {
console.log("req.params: ", req.params);
const { organization, templateID } = req.params;
const existingTemplate = await templateModel(organization).findOne({
templateID: templateID,

View File

@@ -2,11 +2,9 @@ import { Request, Response } from "express";
import panelSchema from "../../../shared/model/vizualization/panelmodel.ts";
import zoneSchema from "../../../shared/model/builder/lines/zone-Model.ts";
import widgetSchema from "../../../shared/model/vizualization/widgemodel.ts";
export class widgetService {
export class WidgetService {
static async addWidget(req: Request, res: Response): Promise<any> {
try {
// console.log("req.body: ", req.body);
console.log("req.body: ", req.body);
const {
organization,
// panel,
@@ -34,7 +32,6 @@ export class widgetService {
isArchive: false,
// widgetOrder: widget.widgetOrder,
});
// console.log('existingWidget: ', widget.data.measurements);
if (existingWidget) {
const updateWidget = await widgetSchema(
organization
@@ -58,16 +55,13 @@ export class widgetService {
},
{ upsert: true, new: true } // Upsert: create if not exists, new: return updated document
);
console.log("updateWidget: ", updateWidget);
if (!updateWidget) {
return res.json({ message: "Widget update unsuccessful" });
}
return res
.status(200)
.json({ message: "Widget updated successfully" });
// return res
// .status(409)
// .json({ message: "Widget already exist for the widgetID" });
}
const newWidget = await widgetSchema(organization).create({
widgetID: widget.id,
@@ -100,7 +94,6 @@ export class widgetService {
static async deleteWidget(req: Request, res: Response): Promise<any> {
try {
const { widgetID, organization, zoneId } = req.body;
console.log(" req.body: ", req.body);
const findWidget = await widgetSchema(organization).findOne({
zoneId: zoneId,
widgetID: widgetID,
@@ -115,7 +108,7 @@ export class widgetService {
if (widgetData) {
// Find all widgets in the same panel and sort them by widgetOrder
const widgets = await widgetSchema(organization).find({
await widgetSchema(organization).find({
panelID: findWidget.panelID,
zoneId: zoneId,
isArchive: false,
@@ -146,7 +139,6 @@ export class widgetService {
static async updatewidget(req: Request, res: Response): Promise<any> {
try {
console.log("req.body: ", req.body);
const { organization, widgetID, values } = req.body;
const findwidget = await widgetSchema(organization).findOne({
widgetID: widgetID,
@@ -169,7 +161,7 @@ export class widgetService {
isArchive: false,
};
const changedWidget = await widgetSchema(organization).findOneAndUpdate(
await widgetSchema(organization).findOneAndUpdate(
{ widgetID: widgetID, isArchive: false },
updateData,
{