import { currentDate, MongooseModule, } from "../helpers"; import ColorModule from "./schema/color"; import { Model } from "mongoose"; import { KindTypeCatalogType } from "../types/kindtype-catalog"; export interface KindTypeCatalog extends KindTypeCatalogType { } export default async function KindTypeCatalogModule(mongoose: MongooseModule) { const { Schema } = mongoose; const Color = ColorModule(mongoose); const modelSchema = new Schema({ kind: { type: String, required: true, minlength: 1, }, type: { type: String, default: "", }, locationType: { type: String, default: "vehicle", required: true, }, colorization: { type: Color, default: null, }, active: { type: Boolean, default: true, }, modified: { type: Date, default: currentDate, }, }, { autoIndex: false, }); modelSchema.index({ kind: 1, type: 1, }, { name: "kind_1_type_1_unique", unique: true, }); return mongoose.model("KindTypeCatalog", modelSchema, "massive_kindtype_catalog", { overwriteModels: true }); } export interface KindTypeCatalogModel extends Model { }