bug fix in adding models that dont have eventData

This commit is contained in:
2025-05-10 10:34:24 +05:30
parent e7632afad6
commit cb668a6c96
3 changed files with 87 additions and 89 deletions

3
.env
View File

@@ -3,10 +3,11 @@
# MONGO_PASSWORD=mongodb@hexr2002
# MONGO_AUTH_DB=admin
MONGO_URI=mongodb://mongo/
MONGO_USER=admin
MONGO_PASSWORD=admin321
MONGO_AUTH_DB=admin
MONGO_URI=mongodb://mongo/
API_PORT=5000
SOCKET_PORT=8000
NODE_ENV=development

View File

@@ -1,19 +1,19 @@
import mongoose, { Document, Schema } from "mongoose";
import MainModel from "../../../connect/mongoose.ts";
interface ICommonBase{
interface ICommonBase {
type: string;
}
interface IPointsConveyor extends ICommonBase{
interface IPointsConveyor extends ICommonBase {
points?: {
Uuid:string;
Uuid: string;
position: [number, number, number];
rotation: [number, number, number];
}[];
}
interface IPoint extends ICommonBase{
interface IPoint extends ICommonBase {
point?: {
Uuid:string;
Uuid: string;
position: [number, number, number];
rotation: [number, number, number];
};
@@ -34,10 +34,9 @@ export interface assetData extends Document {
z: number;
};
speed: number | string;
eventData: IPoint|IPointsConveyor
eventData: IPoint | IPointsConveyor;
}
const assetDataSchema: Schema = new Schema({
isArchive: { type: Boolean, default: false },
modelUuid: { type: String },
@@ -56,7 +55,6 @@ const assetDataSchema: Schema = new Schema({
isVisible: { type: Boolean },
eventData: {
type: Schema.Types.Mixed,
required: true,
},
});

View File

@@ -231,7 +231,7 @@ export const setAssetModel = async (data: any) => {
rotation: rotation,
isVisible: isVisible,
isLocked: isLocked,
eventData: eventData
eventData: eventData,
},
{ new: true }
);
@@ -252,19 +252,20 @@ export const setAssetModel = async (data: any) => {
isVisible,
};
if (eventData?.type === 'Conveyor') {
assetData.eventData = {
type: eventData.type,
// point:undefined,
points: eventData.points,
};
} else {
assetData.eventData = {
type: eventData.type,
point: eventData.point,
// points: undefined
};
if (eventData) {
if (eventData?.type === "Conveyor") {
assetData.eventData = {
type: eventData.type,
// point:undefined,
points: eventData.points,
};
} else {
assetData.eventData = {
type: eventData.type,
point: eventData.point,
// points: undefined
};
}
}
// if (eventData) {
@@ -301,70 +302,70 @@ export const setAssetModel = async (data: any) => {
const assetDoc = await assetModel(organization).create(assetData);
await assetDoc.save();
let assetDatas;
// if (eventData.type === "Conveyor") {
// assetDatas = {
// modelUuid: assetDoc.modelUuid,
// modelName: assetDoc.modelName,
// modelfileID: assetDoc.modelfileID,
// position: assetDoc.position,
// rotation: assetDoc.rotation,
// isLocked: assetDoc.isLocked,
// isVisible: assetDoc.isVisible,
// eventData:eventData
// };
// } else if (assetDoc.type === "Vehicle") {
// assetDatas = {
// modelUuid: assetDoc.modelUuid,
// modelName: assetDoc.modelName,
// modelfileID: assetDoc.modelfileID,
// position: assetDoc.position,
// rotation: assetDoc.rotation,
// isLocked: assetDoc.isLocked,
// isVisible: assetDoc.isVisible,
// eventData: {
// points: assetDoc.points,
// type: assetDoc.type,
// },
// };
// } else if (assetDoc.type === "ArmBot") {
// assetDatas = {
// modelUuid: assetDoc.modelUuid,
// modelName: assetDoc.modelName,
// modelfileID: assetDoc.modelfileID,
// position: assetDoc.position,
// rotation: assetDoc.rotation,
// isLocked: assetDoc.isLocked,
// isVisible: assetDoc.isVisible,
// eventData: {
// points: assetDoc.points,
// type: assetDoc.type,
// },
// };
// } else if (assetDoc.type === "StaticMachine") {
// assetDatas = {
// modelUuid: assetDoc.modelUuid,
// modelName: assetDoc.modelName,
// modelfileID: assetDoc.modelfileID,
// position: assetDoc.position,
// rotation: assetDoc.rotation,
// isLocked: assetDoc.isLocked,
// isVisible: assetDoc.isVisible,
// eventData: {
// points: assetDoc.points,
// type: assetDoc.type,
// },
// };
// } else {
// assetDatas = {
// modelUuid: assetDoc.modelUuid,
// modelName: assetDoc.modelName,
// modelfileID: assetDoc.modelfileID,
// position: assetDoc.position,
// rotation: assetDoc.rotation,
// isLocked: assetDoc.isLocked,
// isVisible: assetDoc.isVisible,
// };
// }
if (eventData.type === "Conveyor") {
assetDatas = {
modelUuid: assetDoc.modelUuid,
modelName: assetDoc.modelName,
modelfileID: assetDoc.modelfileID,
position: assetDoc.position,
rotation: assetDoc.rotation,
isLocked: assetDoc.isLocked,
isVisible: assetDoc.isVisible,
eventData: eventData,
};
} else if (assetDoc.type === "Vehicle") {
assetDatas = {
modelUuid: assetDoc.modelUuid,
modelName: assetDoc.modelName,
modelfileID: assetDoc.modelfileID,
position: assetDoc.position,
rotation: assetDoc.rotation,
isLocked: assetDoc.isLocked,
isVisible: assetDoc.isVisible,
eventData: {
points: assetDoc.points,
type: assetDoc.type,
},
};
} else if (assetDoc.type === "ArmBot") {
assetDatas = {
modelUuid: assetDoc.modelUuid,
modelName: assetDoc.modelName,
modelfileID: assetDoc.modelfileID,
position: assetDoc.position,
rotation: assetDoc.rotation,
isLocked: assetDoc.isLocked,
isVisible: assetDoc.isVisible,
eventData: {
points: assetDoc.points,
type: assetDoc.type,
},
};
} else if (assetDoc.type === "StaticMachine") {
assetDatas = {
modelUuid: assetDoc.modelUuid,
modelName: assetDoc.modelName,
modelfileID: assetDoc.modelfileID,
position: assetDoc.position,
rotation: assetDoc.rotation,
isLocked: assetDoc.isLocked,
isVisible: assetDoc.isVisible,
eventData: {
points: assetDoc.points,
type: assetDoc.type,
},
};
} else {
assetDatas = {
modelUuid: assetDoc.modelUuid,
modelName: assetDoc.modelName,
modelfileID: assetDoc.modelfileID,
position: assetDoc.position,
rotation: assetDoc.rotation,
isLocked: assetDoc.isLocked,
isVisible: assetDoc.isVisible,
};
}
return {
success: true,
message: "Model created successfully",
@@ -414,7 +415,6 @@ export const deleteAssetModel = async (data: any) => {
message: "Failed to archive asset",
organization: organization,
};
}
const updatedEvents = await EventsDataModel(organization).updateMany(
{ modelUuid },
@@ -438,7 +438,6 @@ export const deleteAssetModel = async (data: any) => {
data: archivedAsset,
organization: organization,
};
} catch (error) {
// console.error('Error get flooritems:', error);
return {