Status function change to auto update
This commit is contained in:
@@ -1,22 +1,32 @@
|
||||
module.exports = (sequelize, DataTypes) => {
|
||||
const Schedule = sequelize.define("Schedule", {
|
||||
dateTime: {
|
||||
type: DataTypes.DATE,
|
||||
allowNull: false
|
||||
const { DataTypes } = require("sequelize");
|
||||
|
||||
module.exports = (sequelize) => {
|
||||
const Schedule = sequelize.define(
|
||||
"Schedule",
|
||||
{
|
||||
id: {
|
||||
type: DataTypes.UUID,
|
||||
defaultValue: DataTypes.UUIDV4,
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
},
|
||||
dateTime: {
|
||||
type: DataTypes.DATE,
|
||||
allowNull: false
|
||||
},
|
||||
location: {
|
||||
type: DataTypes.TEXT,
|
||||
allowNull: false
|
||||
},
|
||||
postalCode: {
|
||||
type: DataTypes.INTEGER(6),
|
||||
allowNull: false
|
||||
},
|
||||
status: {
|
||||
type: DataTypes.TEXT,
|
||||
allowNull: false
|
||||
},
|
||||
},
|
||||
location: {
|
||||
type: DataTypes.TEXT,
|
||||
allowNull: false
|
||||
},
|
||||
postalCode: {
|
||||
type: DataTypes.INTEGER(6),
|
||||
allowNull: false
|
||||
},
|
||||
status: {
|
||||
type: DataTypes.TEXT,
|
||||
allowNull: false
|
||||
},
|
||||
},
|
||||
{
|
||||
tableName: "schedule"
|
||||
});
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"axios": "^1.7.2",
|
||||
"bad-words": "^3.0.4",
|
||||
"cors": "^2.8.5",
|
||||
"dayjs": "^1.11.12",
|
||||
"dotenv": "^16.4.5",
|
||||
"express": "^4.19.2",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
|
||||
8
server/pnpm-lock.yaml
generated
8
server/pnpm-lock.yaml
generated
@@ -20,6 +20,9 @@ importers:
|
||||
cors:
|
||||
specifier: ^2.8.5
|
||||
version: 2.8.5
|
||||
dayjs:
|
||||
specifier: ^1.11.12
|
||||
version: 1.11.12
|
||||
dotenv:
|
||||
specifier: ^16.4.5
|
||||
version: 16.4.5
|
||||
@@ -327,6 +330,9 @@ packages:
|
||||
resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
|
||||
engines: {node: '>= 0.10'}
|
||||
|
||||
dayjs@1.11.12:
|
||||
resolution: {integrity: sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==}
|
||||
|
||||
debug@2.6.9:
|
||||
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
||||
peerDependencies:
|
||||
@@ -1229,6 +1235,8 @@ snapshots:
|
||||
object-assign: 4.1.1
|
||||
vary: 1.1.2
|
||||
|
||||
dayjs@1.11.12: {}
|
||||
|
||||
debug@2.6.9:
|
||||
dependencies:
|
||||
ms: 2.0.0
|
||||
|
||||
@@ -3,6 +3,7 @@ const router = express.Router();
|
||||
const { Schedule } = require('../models');
|
||||
const { Op } = require("sequelize");
|
||||
const yup = require("yup");
|
||||
const dayjs = require('dayjs');
|
||||
|
||||
router.post("/", async (req, res) => {
|
||||
let data = req.body;
|
||||
@@ -104,5 +105,27 @@ router.delete("/:id", async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
router.patch("/:id/status", async (req, res) => {
|
||||
try {
|
||||
const { id } = req.params;
|
||||
const schedule = await Schedule.findByPk(id);
|
||||
|
||||
if (!schedule) {
|
||||
return res.status(404).json({ message: 'Schedule not found' });
|
||||
}
|
||||
|
||||
const now = dayjs();
|
||||
const scheduleDateTime = dayjs(schedule.dateTime);
|
||||
|
||||
const newStatus = scheduleDateTime.isAfter(now) ? "Up coming" : "Ended";
|
||||
schedule.status = newStatus;
|
||||
|
||||
await schedule.save();
|
||||
res.status(200).json(schedule);
|
||||
} catch (error) {
|
||||
console.error("Error updating status:", error); // Log the error
|
||||
res.status(500).json({ message: error.message });
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user