import { Model, Schema } from "mongoose"; import { MongooseModule } from "../helpers"; import { CADInterfaceMetaDataType } from "../types/cad-interface-meta-data"; export interface CADInterfaceMetaData extends CADInterfaceMetaDataType {} export default async function CADInterfaceMetaDataModule(mongoose: MongooseModule) { const modelSchema = new Schema({ systemType: { type: String, required: true, trim: true }, }, { autoIndex: false, timestamps: true, // manages createdAt / updatedAt automatically (per story) toJSON: { virtuals: true, versionKey: false }, }); // Uniqueness so the same CAD system can't be catalogued twice. modelSchema.index({ systemType: 1 }, { unique: true }); return mongoose.model( "CADInterfaceMetaData", modelSchema, "massive_cad_interface_meta_data", { overwriteModels: true } ); } export interface CADInterfaceMetaDataModel extends Model {}