Skip to content

Commit e09af38

Browse files
committed
added interview routes
1 parent 2378feb commit e09af38

File tree

6 files changed

+59
-8
lines changed

6 files changed

+59
-8
lines changed

rce-server/server/api/controllers/Interview/controller.js

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,32 @@
1-
import Server from "../../../common/server";
1+
import InterviewService from "../../services/interview.service";
2+
const BASE_URI = process.env.BASE_URI;
23

34
export class Controller {
45
async connect(req, res) {
5-
const uid = req.params.uid;
6-
console.log(uid);
6+
try {
7+
if (!req.user) {
8+
throw {
9+
message: "User must be logged in!!",
10+
};
11+
} else {
12+
const uid = req.params.uid;
13+
const link = `${BASE_URI}/interview/${uid}`;
14+
console.log(uid);
15+
output = await InterviewService.execute(link, user);
16+
if (output) {
17+
res.json({
18+
status: 200,
19+
message: "Connected to interview",
20+
output,
21+
});
22+
}
23+
}
24+
} catch (error) {
25+
res.send({
26+
status: error.status || "500",
27+
message: error.message || "Something Went Wrong",
28+
});
29+
}
730
}
831
}
932

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as express from "express";
22
import controller from "./controller";
3+
import isLoggedIn from "../../middlewares/isLogged.handler";
34

4-
export default express.Router().post("/:uid", controller.connect);
5+
export default express.Router().get("/:uid", isLoggedIn, controller.connect);

rce-server/server/api/controllers/Links/controller.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import LinkService from "../../services/link.service";
33
export class Controller {
44
async generateLink(req, res) {
55
try {
6-
console.log(req.user);
6+
// console.log(req.user);
77
if (!req.user) {
88
throw {
99
message: "User must be logged in!!",

rce-server/server/api/controllers/Links/router.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ export default express
66
.Router()
77
.post("/generate", isLoggedIn, controller.generateLink)
88
.post("/delete", isLoggedIn, controller.deleteLink)
9-
.post("/addEmail", isLoggedIn, controller.addEmail)
10-
.post("/removeEmail", isLoggedIn, controller.removeEmail);
9+
.put("/addEmail", isLoggedIn, controller.addEmail)
10+
.put("/removeEmail", isLoggedIn, controller.removeEmail);
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import mongoose from "mongoose";
2+
const Link = require("../../models/link");
3+
4+
class InterviewService {
5+
async execute(link, user) {
6+
try {
7+
const isLink = await Link.findOne({ link })
8+
.populate("interviewer")
9+
.populate("interviewee");
10+
if (isLink) {
11+
if (user._id.toString() == isLink.interviewer.toString()) {
12+
return isLink;
13+
} else {
14+
}
15+
} else {
16+
throw {
17+
status: 404,
18+
message: "Invalid link",
19+
};
20+
}
21+
} catch (error) {
22+
throw error;
23+
}
24+
}
25+
}
26+
27+
export default new InterviewService();

rce-server/server/api/services/link.service.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class LinkService {
77
async generate(user) {
88
try {
99
const uid = crypto.randomBytes(16).toString("hex");
10-
const link = BASE_URI + uid;
10+
const link = `${BASE_URI}/interview/${uid}`;
1111

1212
const generatedLink = await Link.create({
1313
link,

0 commit comments

Comments
 (0)