File tree 6 files changed +59
-8
lines changed
6 files changed +59
-8
lines changed Original file line number Diff line number Diff line change 1
- import Server from "../../../common/server" ;
1
+ import InterviewService from "../../services/interview.service" ;
2
+ const BASE_URI = process . env . BASE_URI ;
2
3
3
4
export class Controller {
4
5
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
+ }
7
30
}
8
31
}
9
32
Original file line number Diff line number Diff line change 1
1
import * as express from "express" ;
2
2
import controller from "./controller" ;
3
+ import isLoggedIn from "../../middlewares/isLogged.handler" ;
3
4
4
- export default express . Router ( ) . post ( "/:uid" , controller . connect ) ;
5
+ export default express . Router ( ) . get ( "/:uid" , isLoggedIn , controller . connect ) ;
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import LinkService from "../../services/link.service";
3
3
export class Controller {
4
4
async generateLink ( req , res ) {
5
5
try {
6
- console . log ( req . user ) ;
6
+ // console.log(req.user);
7
7
if ( ! req . user ) {
8
8
throw {
9
9
message : "User must be logged in!!" ,
Original file line number Diff line number Diff line change @@ -6,5 +6,5 @@ export default express
6
6
. Router ( )
7
7
. post ( "/generate" , isLoggedIn , controller . generateLink )
8
8
. 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 ) ;
Original file line number Diff line number Diff line change
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 ( ) ;
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ class LinkService {
7
7
async generate ( user ) {
8
8
try {
9
9
const uid = crypto . randomBytes ( 16 ) . toString ( "hex" ) ;
10
- const link = BASE_URI + uid ;
10
+ const link = ` ${ BASE_URI } /interview/ ${ uid } ` ;
11
11
12
12
const generatedLink = await Link . create ( {
13
13
link,
You can’t perform that action at this time.
0 commit comments