Skip to content

Commit

Permalink
cleanup models, fix API
Browse files Browse the repository at this point in the history
  • Loading branch information
megastary committed Mar 12, 2024
1 parent 6fabde1 commit 483e92d
Show file tree
Hide file tree
Showing 11 changed files with 97 additions and 98 deletions.
18 changes: 10 additions & 8 deletions models/category.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
import { Schema as _Schema, model } from 'mongoose'
var Schema = _Schema
import { Schema, model } from "mongoose";
import uniqueValidator from "mongoose-unique-validator";

var schema = new Schema({
name: {
type: String,
required: true,
unique: true
unique: true,
},
color: {
type: String,
required: true
required: true,
},
disabled: {
type: Boolean,
default: false
}
})
default: false,
},
});

schema.plugin(uniqueValidator);

export default model('Category', schema)
export default model("Category", schema);
25 changes: 12 additions & 13 deletions models/delivery.js
Original file line number Diff line number Diff line change
@@ -1,36 +1,35 @@
import { Schema as _Schema, model } from 'mongoose'
var Schema = _Schema
import { Schema, model } from "mongoose";

var schema = new Schema({
supplierId: {
type: Schema.Types.ObjectId,
ref: 'User',
required: true
ref: "User",
required: true,
},
productId: {
type: Schema.Types.ObjectId,
ref: 'Product',
required: true
ref: "Product",
required: true,
},
created_on: {
type: Date,
default: Date.now
default: Date.now,
},
amount_supplied: {
type: Number,
required: true,
min: 1
min: 1,
},
amount_left: {
type: Number,
required: true,
min: 0
min: 0,
},
price: {
type: Number,
required: true,
min: 1
}
})
min: 1,
},
});

export default model('Delivery', schema)
export default model("Delivery", schema);
33 changes: 16 additions & 17 deletions models/invoice.js
Original file line number Diff line number Diff line change
@@ -1,47 +1,46 @@
import { Schema as _Schema, model } from 'mongoose'
var Schema = _Schema
import { Schema, model } from "mongoose";

var schema = new Schema({
buyerId: {
type: Schema.Types.ObjectId,
ref: 'User',
required: true
ref: "User",
required: true,
},
supplierId: {
type: Schema.Types.ObjectId,
ref: 'User',
required: true
ref: "User",
required: true,
},
ordersId: [
{
type: Schema.Types.ObjectId,
ref: 'Order'
}
ref: "Order",
},
],
totalCost: {
type: Number,
required: true
required: true,
},
invoiceDate: {
type: Date,
default: Date.now
default: Date.now,
},
paid: {
type: Boolean,
default: false
default: false,
},
requestPaid: {
type: Boolean,
default: false
default: false,
},
autoReminderCount: {
type: Number,
default: 0
default: 0,
},
manualReminderCount: {
type: Number,
default: 0
}
})
default: 0,
},
});

export default model('Invoice', schema)
export default model("Invoice", schema);
17 changes: 8 additions & 9 deletions models/mail_template.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
import { Schema as _Schema, model } from 'mongoose'
var Schema = _Schema
import { Schema, model } from "mongoose";

var schema = new Schema({
name: {
type: String,
required: true
required: true,
},
type: {
type: Schema.Types.ObjectId,
ref: 'TemplateType',
required: true
ref: "TemplateType",
required: true,
},
message: {
type: String,
required: true
}
})
required: true,
},
});

export default model('MailTemplate', schema)
export default model("MailTemplate", schema);
27 changes: 13 additions & 14 deletions models/order.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,33 @@
import { Schema as _Schema, model } from 'mongoose'
var Schema = _Schema
import { Schema, model } from "mongoose";

var schema = new Schema({
buyerId: {
type: Schema.Types.ObjectId,
ref: 'User',
required: true
ref: "User",
required: true,
},
deliveryId: {
type: Schema.Types.ObjectId,
ref: 'Stock',
required: true
ref: "Stock",
required: true,
},
order_date: {
type: Date,
default: Date.now
default: Date.now,
},
invoice: {
type: Boolean,
default: false
default: false,
},
invoiceId: {
type: Schema.Types.ObjectId,
ref: 'Invoice',
required: false
ref: "Invoice",
required: false,
},
keypadOrder: {
type: Boolean,
default: false
}
})
default: false,
},
});

export default model('Order', schema)
export default model("Order", schema);
32 changes: 19 additions & 13 deletions models/product.js
Original file line number Diff line number Diff line change
@@ -1,33 +1,39 @@
import { Schema as _Schema, model } from 'mongoose'
var Schema = _Schema
import uniqueValidator from 'mongoose-unique-validator'
import { Schema, model } from "mongoose";
import uniqueValidator from "mongoose-unique-validator";

var schema = new Schema({
keypadId: {
type: Number,
required: true,
unique: true,
min: 0
min: 0,
},
displayName: {
type: String,
required: true
required: true,
},
description: {
type: String,
required: true
required: true,
},
imagePath: {
type: String,
required: true
required: true,
},
category: {
type: Schema.Types.ObjectId,
ref: 'Category',
required: false
}
})
ref: "Category",
required: false,
},
code: {
type: String,
required: false,
index: true,
unique: true,
sparse: true,
},
});

schema.plugin(uniqueValidator)
schema.plugin(uniqueValidator);

export default model('Product', schema)
export default model("Product", schema);
11 changes: 0 additions & 11 deletions models/template_type.js

This file was deleted.

12 changes: 6 additions & 6 deletions models/user.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import mongoose, { Schema } from "mongoose";
import { Schema, model } from "mongoose";
import uniqueValidator from "mongoose-unique-validator";

const userSchema = new Schema({
const schema = new Schema({
oid: {
type: String,
required: true,
Expand Down Expand Up @@ -70,9 +71,8 @@ const userSchema = new Schema({
},
});

userSchema.index({});
schema.plugin(uniqueValidator);

const model = mongoose.model("User", userSchema);
// userSchema.index({});

export const schema = model.schema;
export default model;
export default model("User", schema);
7 changes: 4 additions & 3 deletions routes/api/customerName.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,12 @@ router.get("/", ensureAuthenticatedAPI, function (req, res, _next) {

// Find user in database
const filter =
req.query.customer_id.length < 6
? { keypadId: req.query.customer_id }
: { card: req.query.customer_id };
req.query.customer.length < 6
? { keypadId: req.query.customer }
: { card: req.query.customer };
User.findOne({
...filter,
keypadDisabled: { $in: [null, false] },
})
.then((user) => {
// If database doesn't contain user with supplied keypadId, database returns empty object, which doesn't contain parameter displayName.
Expand Down
12 changes: 8 additions & 4 deletions routes/api/keypadOrder.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,12 @@ router.post("/", ensureAuthenticatedAPI, function (req, res, _next) {

// Find user by keypadId
const filter =
req.body.customer_id.length < 6
? { keypadId: req.body.customer_id }
: { card: req.body.customer_id };
req.body.customer.toString().length < 6
? { keypadId: req.body.customer }
: { card: req.body.customer };
User.findOne({
...filter,
keypadDisabled: { $in: [null, false] },
})
.then((user) => {
if (!user) {
Expand Down Expand Up @@ -149,7 +150,10 @@ router.post("/", ensureAuthenticatedAPI, function (req, res, _next) {
res.status(200);
res.set("Content-Type", "application/json");
responseJson = {
user,
user: {
displayName: user.displayName,
email: user.email,
},
product: {
name: product[0].displayName,
price: product[0].stock[0].price,
Expand Down
1 change: 1 addition & 0 deletions routes/kiosk_shop.js
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,7 @@ router.post("/", ensureAuthenticated, function (req, res) {
...filter,
keypadDisabled: { $in: [null, false] },
})
// .explain()
.then((user) => {
if (!user) {
logger.error(
Expand Down

0 comments on commit 483e92d

Please sign in to comment.