location controller updated with heading and created new models and controllers for remaining modules
This commit is contained in:
+104
-1
@@ -1,5 +1,108 @@
|
||||
import { model, Schema, Types } from "mongoose";
|
||||
|
||||
const schema = new Schema({});
|
||||
const paymentHistorySchema = new Schema({
|
||||
amount: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
paymentDate: {
|
||||
type: Date,
|
||||
required: true,
|
||||
},
|
||||
paymentMethod: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
transactionId: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
createdOn: {
|
||||
type: Date,
|
||||
required: true,
|
||||
},
|
||||
createdBy: {
|
||||
type: Types.ObjectId,
|
||||
ref: "user",
|
||||
required: true,
|
||||
},
|
||||
});
|
||||
|
||||
const itemSchema = new Schema({
|
||||
id: {
|
||||
type: Types.ObjectId,
|
||||
required: true,
|
||||
},
|
||||
unitCostPrice: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
unitSellingPrice: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
qty: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
taxPercent: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
taxAmount: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
discount: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
total: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
});
|
||||
|
||||
const schema = new Schema({
|
||||
customer: {
|
||||
type: Types.ObjectId,
|
||||
ref: "partner",
|
||||
required: true,
|
||||
},
|
||||
items: {
|
||||
type: [itemSchema],
|
||||
required: true,
|
||||
},
|
||||
netTotal: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
total: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
status: {
|
||||
type: String,
|
||||
enum: ["PENDING", "COMPLETED", "PARTIAL"],
|
||||
default: "PENDING",
|
||||
},
|
||||
dueDate: {
|
||||
type: Date,
|
||||
required: true,
|
||||
},
|
||||
createdOn: {
|
||||
type: Date,
|
||||
required: true,
|
||||
},
|
||||
createdBy: {
|
||||
type: Types.ObjectId,
|
||||
ref: "user",
|
||||
required: true,
|
||||
},
|
||||
paymentHistory: {
|
||||
type: [paymentHistorySchema],
|
||||
default: [],
|
||||
},
|
||||
});
|
||||
|
||||
export default model("invoice", schema);
|
||||
|
||||
Reference in New Issue
Block a user