Compare commits
No commits in common. "30295dad3a1bd2db7fdceed64887195faf3df541" and "bfd7d292d5a02f694609303df06781702129fd00" have entirely different histories.
30295dad3a
...
bfd7d292d5
@ -1,32 +0,0 @@
|
|||||||
import mongoose from 'mongoose';
|
|
||||||
import { generateId } from '../../utils.js';
|
|
||||||
const { Schema } = mongoose;
|
|
||||||
|
|
||||||
const orderItemSchema = new Schema(
|
|
||||||
{
|
|
||||||
_reference: { type: String, default: () => generateId()() },
|
|
||||||
orderType: { type: String, required: true },
|
|
||||||
order: { type: Schema.Types.ObjectId, refPath: 'orderType', required: true },
|
|
||||||
itemType: { type: String, required: true },
|
|
||||||
item: { type: Schema.Types.ObjectId, refPath: 'itemType', required: true },
|
|
||||||
syncAmount: { type: String, required: true, default: null },
|
|
||||||
itemAmount: { type: Number, required: true },
|
|
||||||
quantity: { type: Number, required: true },
|
|
||||||
totalAmount: { type: Number, required: true },
|
|
||||||
taxRate: { type: Schema.Types.ObjectId, ref: 'taxRate', required: false },
|
|
||||||
totalAmountWithTax: { type: Number, required: true },
|
|
||||||
timestamp: { type: Date, default: Date.now },
|
|
||||||
},
|
|
||||||
{ timestamps: true }
|
|
||||||
);
|
|
||||||
|
|
||||||
// Add virtual id getter
|
|
||||||
orderItemSchema.virtual('id').get(function () {
|
|
||||||
return this._id;
|
|
||||||
});
|
|
||||||
|
|
||||||
// Configure JSON serialization to include virtuals
|
|
||||||
orderItemSchema.set('toJSON', { virtuals: true });
|
|
||||||
|
|
||||||
// Create and export the model
|
|
||||||
export const orderItemModel = mongoose.model('orderItem', orderItemSchema);
|
|
||||||
@ -4,7 +4,7 @@ const { Schema } = mongoose;
|
|||||||
|
|
||||||
const itemSchema = new Schema({
|
const itemSchema = new Schema({
|
||||||
itemType: { type: String, required: true },
|
itemType: { type: String, required: true },
|
||||||
item: { type: Schema.Types.ObjectId, refPath: 'items.itemType', required: true },
|
item: { type: Schema.Types.ObjectId, refPath: 'itemType', required: true },
|
||||||
quantity: { type: Number, required: true },
|
quantity: { type: Number, required: true },
|
||||||
itemCost: { type: Number, required: true },
|
itemCost: { type: Number, required: true },
|
||||||
totalCost: { type: Number, required: true },
|
totalCost: { type: Number, required: true },
|
||||||
|
|||||||
@ -1,50 +0,0 @@
|
|||||||
import mongoose from 'mongoose';
|
|
||||||
import { generateId } from '../../utils.js';
|
|
||||||
const { Schema } = mongoose;
|
|
||||||
|
|
||||||
const shipmentItemSchema = new Schema({
|
|
||||||
itemType: { type: String, required: true },
|
|
||||||
item: { type: Schema.Types.ObjectId, refPath: 'itemType', required: true },
|
|
||||||
quantity: { type: Number, required: true },
|
|
||||||
itemCost: { type: Number, required: true },
|
|
||||||
totalCost: { type: Number, required: true },
|
|
||||||
totalCostWithTax: { type: Number, required: true },
|
|
||||||
taxRate: { type: Schema.Types.ObjectId, ref: 'taxRate', required: false },
|
|
||||||
});
|
|
||||||
|
|
||||||
const shipmentSchema = new Schema(
|
|
||||||
{
|
|
||||||
_reference: { type: String, default: () => generateId()() },
|
|
||||||
purchaseOrder: { type: Schema.Types.ObjectId, ref: 'purchaseOrder', required: true },
|
|
||||||
vendor: { type: Schema.Types.ObjectId, ref: 'vendor', required: true },
|
|
||||||
courierService: { type: Schema.Types.ObjectId, ref: 'courierService', required: false },
|
|
||||||
trackingNumber: { type: String, required: false },
|
|
||||||
items: [shipmentItemSchema],
|
|
||||||
cost: { net: { type: Number, required: true }, gross: { type: Number, required: true } },
|
|
||||||
shippedDate: { type: Date, required: false },
|
|
||||||
expectedDeliveryDate: { type: Date, required: false },
|
|
||||||
actualDeliveryDate: { type: Date, required: false },
|
|
||||||
state: {
|
|
||||||
type: {
|
|
||||||
type: String,
|
|
||||||
required: true,
|
|
||||||
default: 'pending',
|
|
||||||
enum: ['pending', 'shipped', 'in_transit', 'delivered', 'cancelled'],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
notes: { type: String },
|
|
||||||
timestamp: { type: Date, default: Date.now },
|
|
||||||
},
|
|
||||||
{ timestamps: true }
|
|
||||||
);
|
|
||||||
|
|
||||||
// Add virtual id getter
|
|
||||||
shipmentSchema.virtual('id').get(function () {
|
|
||||||
return this._id;
|
|
||||||
});
|
|
||||||
|
|
||||||
// Configure JSON serialization to include virtuals
|
|
||||||
shipmentSchema.set('toJSON', { virtuals: true });
|
|
||||||
|
|
||||||
// Create and export the model
|
|
||||||
export const shipmentModel = mongoose.model('shipment', shipmentSchema);
|
|
||||||
@ -1,16 +1,6 @@
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import { generateId } from '../../utils.js';
|
import { generateId } from '../../utils.js';
|
||||||
|
|
||||||
const addressSchema = new mongoose.Schema({
|
|
||||||
building: { required: false, type: String },
|
|
||||||
addressLine1: { required: false, type: String },
|
|
||||||
addressLine2: { required: false, type: String },
|
|
||||||
city: { required: false, type: String },
|
|
||||||
state: { required: false, type: String },
|
|
||||||
postcode: { required: false, type: String },
|
|
||||||
country: { required: false, type: String },
|
|
||||||
});
|
|
||||||
|
|
||||||
const vendorSchema = new mongoose.Schema(
|
const vendorSchema = new mongoose.Schema(
|
||||||
{
|
{
|
||||||
_reference: { type: String, default: () => generateId()() },
|
_reference: { type: String, default: () => generateId()() },
|
||||||
@ -20,8 +10,6 @@ const vendorSchema = new mongoose.Schema(
|
|||||||
phone: { required: false, type: String },
|
phone: { required: false, type: String },
|
||||||
contact: { required: false, type: String },
|
contact: { required: false, type: String },
|
||||||
country: { required: false, type: String },
|
country: { required: false, type: String },
|
||||||
active: { required: true, type: Boolean, default: true },
|
|
||||||
address: { required: false, type: addressSchema },
|
|
||||||
},
|
},
|
||||||
{ timestamps: true }
|
{ timestamps: true }
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user