feat: added models Inventory, Material, Item & User

This commit is contained in:
Sathishkumar Krishnan
2021-12-22 05:23:00 +05:30
parent 3a66670d5f
commit 291eea44f8
7 changed files with 299 additions and 2 deletions

93
src/models/Item.js Normal file
View File

@@ -0,0 +1,93 @@
const mongoose = require("mongoose");
const { CustomAttributeTypes } = require("./../config/constants");
const schema = new mongoose.Schema(
{
commonName: {
type: String,
required: true,
trim: true,
},
formalName: {
type: String,
required: true,
trim: true,
},
description: {
type: String,
required: true,
trim: true,
},
manufacturer: {
type: String,
required: true,
trim: true,
},
size: {
type: String,
required: true,
trim: true,
},
color: {
type: String,
required: true,
trim: true,
},
type: {
type: String,
required: true,
trim: true,
},
unitOfMaterial: {
type: String,
required: true,
trim: true,
},
unitCost: {
type: Number,
required: true,
},
unitQuantity: {
type: Number,
required: true,
},
packageCount: {
type: Number,
required: true,
},
countPerPallet: {
type: Number,
required: true,
},
countPerPalletPackage: {
type: Number,
required: true,
},
customAttributes: [
{
fieldName: {
type: String,
required: true,
trim: true,
},
fieldType: {
type: String,
required: true,
trim: true,
enum: CustomAttributeTypes,
},
fieldValue: {
type: mongoose.Schema.Types.Mixed,
required: true,
},
},
],
},
{
timestamps: true,
}
);
const Item = mongoose.model("Item", schema);
module.exports = Item;