Parcourir la source

Add validation for orders and transactions to prevent dates being set to the future.

Lee Morgan il y a 5 ans
Parent
commit
b542de429d
2 fichiers modifiés avec 11 ajouts et 3 suppressions
  1. 5 2
      models/order.js
  2. 6 1
      models/transaction.js

+ 5 - 2
models/order.js

@@ -18,8 +18,11 @@ const OrderSchema = new mongoose.Schema({
     },
     date: {
         type: Date,
-        default: Date.now,
-        required: [true, "MUST PROVIDE A DATE FOR THE ORDER"]
+        required: [true, "MUST PROVIDE A DATE FOR THE ORDER"],
+        validate: {
+            validator: date => date < new Date,
+            message: "ORDER DATE CANNOT BE SET TO THE FUTURE"
+        }
     },
     taxes: Number,
     fees: Number,

+ 6 - 1
models/transaction.js

@@ -1,3 +1,4 @@
+
 const mongoose = require("mongoose");
 
 const TransactionSchema = new mongoose.Schema({
@@ -8,7 +9,11 @@ const TransactionSchema = new mongoose.Schema({
     },
     date: {
         type: Date,
-        required: [true, "DATE MUST BE PROVIDED FOR A TRANSACTION"]
+        required: [true, "DATE MUST BE PROVIDED FOR A TRANSACTION"],
+        validate: {
+            validator: date => date < new Date,
+            message: "TRANSACTION DATE CANNOT BE SET TO THE FUTURE"
+        }
     },
     device: String,
     recipes: [{