Created models
This commit is contained in:
33
src/models/Area.js
Normal file
33
src/models/Area.js
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
|
const schema = new mongoose.Schema(
|
||||||
|
{
|
||||||
|
name: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
specs: {
|
||||||
|
type: String,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
rows: [
|
||||||
|
{
|
||||||
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
|
ref: "Row",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
timestamps: true,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const Area = mongoose.model("Area", schema);
|
||||||
|
|
||||||
|
module.exports = Area;
|
||||||
38
src/models/Bay.js
Normal file
38
src/models/Bay.js
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
|
const schema = new mongoose.Schema(
|
||||||
|
{
|
||||||
|
name: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
number: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
specs: {
|
||||||
|
type: String,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
levels: [
|
||||||
|
{
|
||||||
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
|
ref: "Level",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
timestamps: true,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const Level = mongoose.model("Level", schema);
|
||||||
|
|
||||||
|
module.exports = Level;
|
||||||
37
src/models/Company.js
Normal file
37
src/models/Company.js
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
|
const schema = new mongoose.Schema(
|
||||||
|
{
|
||||||
|
name: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
address: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
contact_info: {
|
||||||
|
type: String,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
business_info: {
|
||||||
|
type: String,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
warehouses: [
|
||||||
|
{
|
||||||
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
|
ref: "Warehouse",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
timestamps: true,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const Company = mongoose.model("Company", schema);
|
||||||
|
|
||||||
|
module.exports = Company;
|
||||||
48
src/models/Level.js
Normal file
48
src/models/Level.js
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
|
const schema = new mongoose.Schema(
|
||||||
|
{
|
||||||
|
name: {
|
||||||
|
required: true,
|
||||||
|
type: String,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
number: {
|
||||||
|
required: true,
|
||||||
|
type: String,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
specs: {
|
||||||
|
// TODO: TBD
|
||||||
|
type: String,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
sub_levels: [
|
||||||
|
{
|
||||||
|
type: {
|
||||||
|
required: true,
|
||||||
|
type: String,
|
||||||
|
enum: ["POSITION", "BIN", "PALLET"], // TODO: Add to constant file
|
||||||
|
},
|
||||||
|
depth: {
|
||||||
|
required: true,
|
||||||
|
type: Number,
|
||||||
|
min: 1, // Level is at 0
|
||||||
|
max: 5,
|
||||||
|
},
|
||||||
|
reference_id: {
|
||||||
|
required: true,
|
||||||
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
|
ref: "Sublevel",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
timestamps: true,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const Level = mongoose.model("Level", schema);
|
||||||
|
|
||||||
|
module.exports = Level;
|
||||||
33
src/models/Row.js
Normal file
33
src/models/Row.js
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
|
const schema = new mongoose.Schema(
|
||||||
|
{
|
||||||
|
name: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
number: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
specs: {
|
||||||
|
type: String,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
bays: [
|
||||||
|
{
|
||||||
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
|
ref: "Bay",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
timestamps: true,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const Row = mongoose.model("Row", schema);
|
||||||
|
|
||||||
|
module.exports = Row;
|
||||||
72
src/models/Sublevel.js
Normal file
72
src/models/Sublevel.js
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
|
const schema = new mongoose.Schema(
|
||||||
|
{
|
||||||
|
name: {
|
||||||
|
required: true,
|
||||||
|
type: String,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
enum: ["POSITION", "BIN", "PALLET"], // TODO: Add to constant file
|
||||||
|
},
|
||||||
|
specs: {
|
||||||
|
// TBD
|
||||||
|
type: String,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
main_level_id: {
|
||||||
|
required: true,
|
||||||
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
|
ref: "Level",
|
||||||
|
},
|
||||||
|
current_depth: {
|
||||||
|
required: true,
|
||||||
|
type: Number,
|
||||||
|
},
|
||||||
|
parent_sublevel_id: {
|
||||||
|
// Not required if depth is 1
|
||||||
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
|
ref: "Sublevel",
|
||||||
|
},
|
||||||
|
sub_levels: [
|
||||||
|
{
|
||||||
|
type: {
|
||||||
|
required: true,
|
||||||
|
type: String,
|
||||||
|
enum: ["POSITION", "BIN", "PALLET"],
|
||||||
|
},
|
||||||
|
depth: {
|
||||||
|
required: true,
|
||||||
|
type: Number,
|
||||||
|
min: 1, // Level is at 0
|
||||||
|
max: 5,
|
||||||
|
},
|
||||||
|
reference_id: {
|
||||||
|
required: true,
|
||||||
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
|
ref: "Sublevel",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
hasInventory: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
inventory: [
|
||||||
|
{
|
||||||
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
|
ref: "Inventory",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
timestamps: true,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const Level = mongoose.model("Level", schema);
|
||||||
|
|
||||||
|
module.exports = Level;
|
||||||
33
src/models/Warehouse.js
Normal file
33
src/models/Warehouse.js
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
|
const schema = new mongoose.Schema(
|
||||||
|
{
|
||||||
|
name: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
address: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
specs: {
|
||||||
|
type: String,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
zones: [
|
||||||
|
{
|
||||||
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
|
ref: "Zone",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
timestamps: true,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const Warehouse = mongoose.model("Warehouse", schema);
|
||||||
|
|
||||||
|
module.exports = Warehouse;
|
||||||
33
src/models/Zone.js
Normal file
33
src/models/Zone.js
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
|
const schema = new mongoose.Schema(
|
||||||
|
{
|
||||||
|
name: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
specs: {
|
||||||
|
type: String,
|
||||||
|
trim: true,
|
||||||
|
},
|
||||||
|
areas: [
|
||||||
|
{
|
||||||
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
|
ref: "Area",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
timestamps: true,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const Zone = mongoose.model("Zone", schema);
|
||||||
|
|
||||||
|
module.exports = Zone;
|
||||||
Reference in New Issue
Block a user