import mongoose, { Document, Schema } from "mongoose"; import MainModel from "../../../connect/mongoose.ts"; // Interface for TypeScript with PascalCase export interface assetData extends Document { modeluuid: string; modelfileID: string; modelname: string; isLocked: boolean; isVisible: boolean; position: []; rotation: { x: number; y: number; z: number; }; points: [ { uuid: string; position: []; rotation: []; actions: [mongoose.Types.ObjectId]; triggers: [mongoose.Types.ObjectId]; // connections:{ // source:{ // pathuuid:string,pointuuid:string // }, // target:[] // } } ]; } // Define the Mongoose Schema const assetDataSchema: Schema = new Schema({ modeluuid: { type: String }, modelfileID: { type: String }, modelname: { type: String }, position: { type: Array }, points: [ { uuid: { type: String }, position: { type: Array }, rotation: { type: Array }, actions: [{ type: mongoose.Schema.Types.ObjectId, ref: "Widget" }], triggers: [{ type: mongoose.Schema.Types.ObjectId, ref: "Widget" }], }, ], isLocked: { type: Boolean }, isVisible: { type: Boolean }, rotation: { x: { type: Number, required: true }, y: { type: Number, required: true }, z: { type: Number, required: true }, }, }); // export default floorItemsModel; const assetModel = (db: string) => { return MainModel(db, "Assets", assetDataSchema, "Assets"); }; export default assetModel;