This commit is contained in:
2023-10-23 17:25:05 +05:00
parent 6f908a0da1
commit 478554982f
5 changed files with 110 additions and 41 deletions
+25
View File
@@ -0,0 +1,25 @@
import { model, Schema } from "mongoose";
const buildUserSchema = new Schema(
{
buildId: {
type: Schema.Types.ObjectId,
ref: "Build",
required: true,
},
userId: {
type: Schema.Types.ObjectId,
ref: "User",
required: true,
},
},
{
timestamps: true,
toJSON: { virtuals: true },
toObject: { virtuals: true },
}
);
const BuildUser = model("Build_User", buildUserSchema);
export default BuildUser;
+4
View File
@@ -20,6 +20,10 @@ const scheduledSessionSchema = new Schema(
type: Date,
required: true,
},
endAt: {
type: Date,
required: true,
},
clientName: {
type: String,
required: true,
+26 -1
View File
@@ -3,6 +3,8 @@ import Company from "../models/Company.js";
import { parseISO, startOfDay, endOfDay } from "date-fns";
import ScheduledSession from "../models/ScheduledSession.js";
import Schedule from "../models/Schedule.js";
import BuildUser from "../models/BuildUser.js";
import User from "../models/User.js";
const companiesRouter = Router();
@@ -47,6 +49,26 @@ companiesRouter.get("/:id/users", async (req, res) => {
res.json(users);
});
companiesRouter.get("/:id/builds/:buildId/users", async (req, res) => {
if (req.params.id != res.locals.user.companyId) {
res.json({ error: "Access denied!" });
return;
}
const buildUsers: any = await BuildUser.find({
buildId: req.params.buildId,
});
const users = [];
for (const buildUser of buildUsers) {
const user = await User.findById(buildUser.userId);
users.push(user);
}
res.json(users);
});
companiesRouter.get(
"/:id/builds/:buildId/scheduled_sessions",
async (req, res) => {
@@ -155,11 +177,14 @@ companiesRouter.get(
"/:id/builds/:buildId/scheduled_sessions/:scheduledSessionId/availableManagers",
async (req, res) => {
if (!req.query.startAt) {
res.json({ error: "No dateTime" });
res.json({ error: "No param `startAt`" });
return;
}
try {
// const date = req.query.startAt;
// const sessions = ScheduledSession.find({ userId: res.locals.user.id });
const scheduledSession = await ScheduledSession.findById(
req.params.scheduledSessionId
);