Files
mbmanager-api/components/feature/featureModel.js
T
kavehhn 2d87cc4834 ADD: SignedUrls for documents, mainImage and images
ADD: Bucket and Upload System
ADD: New errors
ADD: Virtuals for categories
ADD: Features system
ADD: File management system
2025-01-04 22:06:43 +03:30

47 lines
1.0 KiB
JavaScript

const mongoose = require('mongoose')
const ObjectID = mongoose.Schema.Types.ObjectId
const featureSchema = new mongoose.Schema({
nativeName: {
type: String,
required: true,
},
englishName: {
type: String,
required: true,
},
category: {
type: ObjectID,
ref: 'Category',
required: true,
},
predefinedValues: [String],
unit: String,
isFilterable: {
type: Boolean,
default: true,
},
featureType: {
type: String,
enum: ['string', 'boolean', 'number', 'date'],
default: 'string',
},
filterType: {
type: String,
enum: ['exact', 'range', 'multi', 'bool'],
default: 'exact',
},
tag: String,
priority: Number,
}, {
toJSON: { virtuals: true },
toObject: { virtuals: true },
timestamps: true,
})
featureSchema.index({ englishName: 1, category: 1 }, { unique: true })
const Feature = mongoose.model('Feature', featureSchema)
module.exports = Feature