86 lines
2.5 KiB
TypeScript
86 lines
2.5 KiB
TypeScript
// import mongoose, { Schema, Document, model } from "mongoose";
|
|
// import MainModel from "../../../connect/mongoose.ts";
|
|
|
|
// export interface Zone extends Document {
|
|
// zoneName: string;
|
|
// // zoneUUID: string;
|
|
// zonePoints: [];
|
|
// centerPoints: [];
|
|
// isArchive: boolean;
|
|
// createdBy: string;
|
|
// sceneID: string;
|
|
// // createdBy: mongoose.Types.ObjectId;
|
|
// // sceneID: mongoose.Types.ObjectId;
|
|
// layer: number;
|
|
// }
|
|
// const zoneSchema: Schema = new Schema(
|
|
// {
|
|
// zoneName: { type: String },
|
|
// // zoneUUID: { type: String },
|
|
// createdBy: { type: String },
|
|
// sceneID: { type: String },
|
|
// layer: { type: Number },
|
|
// centerPoints: { type: Array },
|
|
// zonePoints: { type: Array },
|
|
// isArchive: { type: Boolean, default: false },
|
|
// // createdBy: { type: mongoose.Schema.Types.ObjectId, ref: "User" },
|
|
// // sceneID: { type: mongoose.Schema.Types.ObjectId, ref: "Scene" },
|
|
// },
|
|
// { timestamps: true }
|
|
// );
|
|
|
|
// const dataModel = (db: any) => {
|
|
// return MainModel(db, "Zones", zoneSchema, "Zones");
|
|
// };
|
|
// export default dataModel;
|
|
|
|
import mongoose, { Schema, Document, model } from "mongoose";
|
|
import MainModel from "../../../connect/mongoose.ts";
|
|
|
|
export interface Zone extends Document {
|
|
zoneName: string;
|
|
// zoneUUID: string;
|
|
zonePoints: [];
|
|
viewPortCenter: [];
|
|
viewPortposition: [];
|
|
isArchive: boolean;
|
|
createdBy: string;
|
|
sceneID: string;
|
|
panelOrder: string[];
|
|
lockedPanel: string[];
|
|
// createdBy: mongoose.Types.ObjectId;
|
|
// sceneID: mongoose.Types.ObjectId;
|
|
layer: number;
|
|
}
|
|
const zoneSchema: Schema = new Schema(
|
|
{
|
|
zoneName: { type: String },
|
|
// zoneUUID: { type: String },
|
|
createdBy: { type: String },
|
|
sceneID: { type: String },
|
|
layer: { type: Number },
|
|
centerPoints: { type: Array },
|
|
zonePoints: { type: Array },
|
|
isArchive: { type: Boolean, default: false },
|
|
panelOrder: {
|
|
type: [String],
|
|
enum: ["left", "right", "up", "down"],
|
|
},
|
|
viewPortCenter: { type: Array, required: true },
|
|
viewPortposition: { type: Array, required: true },
|
|
lockedPanel: {
|
|
type: [String],
|
|
default: [],
|
|
enum: ["left", "right", "up", "down"],
|
|
},
|
|
// createdBy: { type: mongoose.Schema.Types.ObjectId, ref: "User" },
|
|
// sceneID: { type: mongoose.Schema.Types.ObjectId, ref: "Scene" },
|
|
},
|
|
{ timestamps: true }
|
|
);
|
|
|
|
const dataModel = (db: any) => {
|
|
return MainModel(db, "zones", zoneSchema, "zones");
|
|
};
|
|
export default dataModel;
|