|
|
@@ -4,6 +4,7 @@ import {mongoose} from "mongoose";
|
|
|
import Appointment from "../schemas/appointmentSchema.js";
|
|
|
import Booking from "../schemas/bookingSchema.js";
|
|
|
import AppointmentSchema from "../schemas/appointmentSchema.js";
|
|
|
+import {isDatePassed, isDueDatePassed} from "../utils.js";
|
|
|
const router = express.Router();
|
|
|
|
|
|
|
|
|
@@ -23,7 +24,23 @@ router.post('/create', function(req, res, next) {
|
|
|
const { title, description, dueDate, place, startDate, endDate } = req.body;
|
|
|
|
|
|
if (!title || title.length === 0 || !dueDate || !dueDate || !description || !startDate || !endDate || !place) {
|
|
|
- res.status(400).json({ 'error': 'Empty parameter' });
|
|
|
+ res.status(400).json({ 'message': 'Empty parameter' });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isDatePassed(startDate, dueDate)) {
|
|
|
+ res.status(400).json({ 'message': 'Due date is after start date' });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isDueDatePassed(dueDate)) {
|
|
|
+ res.status(400).json({ 'message': 'Due date is in the past' });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // TODO check if end date is before start date
|
|
|
+ if (isDatePassed(endDate, startDate)) {
|
|
|
+ res.status(400).json({ 'message': 'End date is before start date' });
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -31,7 +48,7 @@ router.post('/create', function(req, res, next) {
|
|
|
|
|
|
newTask.save()
|
|
|
.then(doc => res.json({ "success": true }))
|
|
|
- .catch(err => res.status(500).json({ 'error': err }));
|
|
|
+ .catch(err => res.status(500).json({ 'message': err }));
|
|
|
|
|
|
});
|
|
|
|
|
|
@@ -57,17 +74,17 @@ router.put('/modify', function (req, res, next) {
|
|
|
res.json({ "success": true });
|
|
|
} else {
|
|
|
console.log("Document not updated");
|
|
|
- res.status(500).json({ 'error': 'Document has not changed' });
|
|
|
+ res.status(500).json({ 'message': 'Document has not changed' });
|
|
|
}
|
|
|
})
|
|
|
- .catch(err => res.status(404).json({ 'error': 'Not found' }));
|
|
|
+ .catch(err => res.status(404).json({ 'message': 'Not found' }));
|
|
|
});
|
|
|
|
|
|
router.delete('/delete', function (req, res, next) {
|
|
|
const user = req.userId;
|
|
|
const {appointmentId} = req.body;
|
|
|
if (!appointmentId) {
|
|
|
- res.status(400).json({ 'error': 'Invalid parameter' });
|
|
|
+ res.status(400).json({ 'message': 'Invalid parameter' });
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -76,10 +93,10 @@ router.delete('/delete', function (req, res, next) {
|
|
|
if (result.deletedCount === 1) {
|
|
|
res.json({ 'success': true });
|
|
|
} else {
|
|
|
- res.status(404).json({ 'error': 'Not found' });
|
|
|
+ res.status(404).json({ 'message': 'Not found' });
|
|
|
}
|
|
|
})
|
|
|
- .catch(err => res.status(500).json({ 'error': err }));
|
|
|
+ .catch(err => res.status(500).json({ 'message': err }));
|
|
|
});
|
|
|
|
|
|
|
|
|
@@ -98,7 +115,7 @@ router.get('/bookings', function (req, res, next) {
|
|
|
const { appointmentId } = req.query;
|
|
|
|
|
|
if (!appointmentId) {
|
|
|
- res.status(400).json({ 'error': 'Empty parameter' });
|
|
|
+ res.status(400).json({ 'message': 'Empty parameter' });
|
|
|
return;
|
|
|
}
|
|
|
|