2025-05-28 09:42:00 +05:30
|
|
|
import { Document, Schema } from "mongoose";
|
|
|
|
|
import MainModel from "../../connect/mongoose.ts";
|
2025-01-30 12:44:04 +05:30
|
|
|
|
|
|
|
|
export interface Camera extends Document {
|
|
|
|
|
userId: string;
|
|
|
|
|
position: {
|
|
|
|
|
x: number;
|
|
|
|
|
y: number;
|
|
|
|
|
z: number;
|
2025-05-28 09:42:00 +05:30
|
|
|
};
|
2025-01-30 12:44:04 +05:30
|
|
|
target: {
|
2025-05-28 10:02:16 +05:30
|
|
|
x: { type: number; required: true };
|
|
|
|
|
y: { type: number; required: true };
|
|
|
|
|
z: { type: number; required: true };
|
2025-05-28 09:42:00 +05:30
|
|
|
};
|
2025-01-30 12:44:04 +05:30
|
|
|
rotation: {
|
2025-05-28 10:02:16 +05:30
|
|
|
x: { type: number; required: true };
|
|
|
|
|
y: { type: number; required: true };
|
|
|
|
|
z: { type: number; required: true };
|
2025-05-28 09:42:00 +05:30
|
|
|
};
|
2025-01-30 12:44:04 +05:30
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const cameraSchema: Schema = new Schema({
|
|
|
|
|
userId: { type: String },
|
|
|
|
|
position: {
|
|
|
|
|
x: { type: Number, required: true },
|
|
|
|
|
y: { type: Number, required: true },
|
2025-05-28 09:42:00 +05:30
|
|
|
z: { type: Number, required: true },
|
2025-01-30 12:44:04 +05:30
|
|
|
},
|
|
|
|
|
target: {
|
|
|
|
|
x: { type: Number, required: true },
|
|
|
|
|
y: { type: Number, required: true },
|
2025-05-28 09:42:00 +05:30
|
|
|
z: { type: Number, required: true },
|
2025-01-30 12:44:04 +05:30
|
|
|
},
|
|
|
|
|
rotation: {
|
|
|
|
|
x: { type: Number, required: true },
|
|
|
|
|
y: { type: Number, required: true },
|
2025-05-28 09:42:00 +05:30
|
|
|
z: { type: Number, required: true },
|
|
|
|
|
},
|
2025-01-30 12:44:04 +05:30
|
|
|
});
|
|
|
|
|
|
2025-05-28 09:42:00 +05:30
|
|
|
const cameraModel = (db: string) => {
|
|
|
|
|
return MainModel(db, "Camera", cameraSchema, "Camera");
|
2025-01-30 12:44:04 +05:30
|
|
|
};
|
2025-05-28 09:42:00 +05:30
|
|
|
export default cameraModel;
|