const ArrivalSchema = new Schema({
product: {
type: Schema.Types.ObjectId,
required: [true, 'Продукция должна быть указана'],
ref: 'Product'
},
branch: {
type: Schema.Types.ObjectId,
required: [true, 'Филиал нахождения продукции должен быть указан'],
ref: 'Branch'
},
color: {
type: Schema.Types.ObjectId,
required: [true, 'Цвет продукции должен быть указан'],
ref: 'Color'
},
quantity: {
type: Number,
required: [true, 'Количество прибывшей продукции должен быть указан'],
min: [0, 'Количество не может быть меньше 0']
},
buyPrice: {
type: Number,
min: [0, 'Приобретенная цена не может быть отрицательной']
},
sellPrice: {
type: Number,
min: [0, 'Продажная цена не может быть отрицательной']
},
minSellPrice: {
type: Number,
min: [0, 'Минимальная продажная цена не может быть отрицательной']
},
discount: {
type: Number,
default: 0,
min: [0, 'Акционная скидка не может быть меньше 0']
},
comment: {
type: String,
maxlength: [1000, 'Длина комментария должна быть меньше 1000 символов']
},
arrivedAt: {
type: Date,
required: [true, 'Дата прибытия продукции должна быть указана']
},
readyForSell: {
type: Boolean,
default: false
}
}, {
timestamps: true
});