2025-01-30 12:44:04 +05:30
|
|
|
import mongoose, { Document, Schema } from 'mongoose';
|
2025-03-28 12:45:59 +05:30
|
|
|
import MainModel from '../../connect/mongoose.ts';
|
2025-01-30 12:44:04 +05:30
|
|
|
|
|
|
|
|
// Interface for TypeScript with PascalCase
|
|
|
|
|
export interface Camera extends Document {
|
|
|
|
|
userId: string;
|
|
|
|
|
position: {
|
|
|
|
|
x: number;
|
|
|
|
|
y: number;
|
|
|
|
|
z: number;
|
|
|
|
|
}
|
|
|
|
|
target: {
|
|
|
|
|
x: { type: Number, required: true },
|
|
|
|
|
y: { type: Number, required: true },
|
|
|
|
|
z: { type: Number, required: true }
|
|
|
|
|
}
|
|
|
|
|
rotation: {
|
|
|
|
|
x: { type: Number, required: true },
|
|
|
|
|
y: { type: Number, required: true },
|
|
|
|
|
z: { type: Number, required: true }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Define the Mongoose Schema
|
|
|
|
|
const cameraSchema: Schema = new Schema({
|
|
|
|
|
userId: { type: String },
|
|
|
|
|
position: {
|
|
|
|
|
x: { type: Number, required: true },
|
|
|
|
|
y: { type: Number, required: true },
|
|
|
|
|
z: { type: Number, required: true }
|
|
|
|
|
},
|
|
|
|
|
target: {
|
|
|
|
|
x: { type: Number, required: true },
|
|
|
|
|
y: { type: Number, required: true },
|
|
|
|
|
z: { type: Number, required: true }
|
|
|
|
|
},
|
|
|
|
|
rotation: {
|
|
|
|
|
x: { type: Number, required: true },
|
|
|
|
|
y: { type: Number, required: true },
|
|
|
|
|
z: { type: Number, required: true }
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Model for MongoDB collection
|
|
|
|
|
// const cameraModel = model<Camera>("Camera", cameraSchema);
|
|
|
|
|
|
|
|
|
|
// export default cameraModel;
|
|
|
|
|
// const cameraModel = (db: string) => {
|
|
|
|
|
// const mongoUrl = process.env.MONGO_URI || '';
|
|
|
|
|
// if (!mongoUrl) {
|
|
|
|
|
// throw new Error('MONGO_URI environment variable is not set');
|
|
|
|
|
// }
|
|
|
|
|
// // Connect to the database
|
|
|
|
|
// const dbConnection = mongoose.createConnection(mongoUrl, {
|
|
|
|
|
// dbName: db, // Specify the database name here
|
|
|
|
|
// serverSelectionTimeoutMS: 30000,
|
|
|
|
|
// });
|
|
|
|
|
// return dbConnection.model<Camera>('Camera', cameraSchema,`Camera`);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// export default cameraModel;
|
|
|
|
|
// const cameraModel = (db: string) => {
|
|
|
|
|
// const mongoUrl = process.env.MONGO_URI || '';
|
|
|
|
|
// if (!mongoUrl) {
|
|
|
|
|
// throw new Error('MONGO_URI environment variable is not set');
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// const dbConnection = mongoose.createConnection(mongoUrl, {
|
|
|
|
|
// dbName: db,
|
|
|
|
|
// serverSelectionTimeoutMS: 60000, // Increased timeout
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
// dbConnection.on('error', (err) => {
|
|
|
|
|
// console.error(`MongoDB connection error for database ${db}:`, err);
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
// dbConnection.once('open', () => {
|
|
|
|
|
// console.log(`Connected to MongoDB database: ${db}`);
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
// return dbConnection.model<Camera>('Camera', cameraSchema, 'Camera');
|
|
|
|
|
// };
|
|
|
|
|
// export default cameraModel
|
|
|
|
|
const cameraModel = (db:string) => {
|
|
|
|
|
return MainModel(db, "Camera", cameraSchema, "Camera")
|
|
|
|
|
};
|
2025-01-22 16:59:14 +05:30
|
|
|
export default cameraModel;
|