This commit is contained in:
2023-10-25 13:25:10 +05:00
parent a3156b5778
commit d72990ce2c
3 changed files with 61 additions and 0 deletions
+2
View File
@@ -11,6 +11,7 @@ import scheduledSessionsRouter from "./routes/scheduledSessions.js";
import usersRouter from "./routes/users.js";
import buildsRouter from "./routes/builds.js";
import actionsRouter from "./routes/actions.js";
import schedulesRouter from "./routes/schedules.js";
const app = express();
const port = process.env.PORT || 3000;
@@ -24,6 +25,7 @@ app.use("/login", loginRouter);
app.use("/registration", registrationRouter);
app.use("/actions", actionsRouter);
app.use("/scheduled_sessions", scheduledSessionsRouter);
app.use("/schedules", schedulesRouter);
app.use("/app", authMiddleware, appRouter);
app.use("/companies", authMiddleware, companiesRouter);
app.use("/users", authMiddleware, usersRouter);
+24
View File
@@ -6,6 +6,30 @@ import { addMinutes, endOfDay, parseISO, startOfDay } from "date-fns";
const scheduledSessionsRouter = Router();
scheduledSessionsRouter.get("/builds/:buildId", async (req, res) => {
if (!req.params.buildId) {
res.json({ error: "Parameter `buildId` is required!" });
return;
}
if (!req.query.date) {
res.json({ error: "Query parameter `date` is required!" });
return;
}
const buildId = req.params.buildId;
const date = req.query.date as string;
const scheduledSessions = await ScheduledSession.find({
buildId,
startAt: {
$gte: startOfDay(parseISO(date)),
$lt: endOfDay(parseISO(date)),
},
});
res.json(scheduledSessions);
});
scheduledSessionsRouter.get("/:buildId", async (req, res) => {
if (!req.params.buildId) {
res.json({ error: "Parameter `buildId` is required!" });
+35
View File
@@ -0,0 +1,35 @@
import { Router } from "express";
import Schedule from "../models/Schedule.js";
const schedulesRouter = Router();
schedulesRouter.get("/builds/:buildId", async (req, res) => {
const buildId = req.params.buildId;
const date = new Date();
const schedules = await Schedule.find({
buildId,
startDate: { $lte: date },
endDate: { $gte: date },
});
if (!schedules.length) {
res.json({ error: "No data" });
return;
}
if (req.query.date) {
const schedule = await Schedule.findOne({
buildId,
startDate: { $lte: date },
endDate: { $gte: date },
});
res.json(schedule);
return;
}
res.json(schedules);
});
export default schedulesRouter;