1
- import { Request , Response } from 'express' ;
1
+ import { StatusCodes } from 'http-status-codes' ;
2
+ import type { Request , Response } from 'express' ;
3
+
2
4
import {
3
5
getQuestionsService ,
4
6
getQuestionDetailsService ,
@@ -22,9 +24,16 @@ export const getQuestions = async (req: Request, res: Response): Promise<Respons
22
24
23
25
try {
24
26
const result = await getQuestionsService ( payload ) ;
25
- return res . status ( result . code ) . json ( result ) ;
27
+ if ( ! result . data || result . code >= 400 ) {
28
+ return res . status ( result . code ) . json ( {
29
+ message : result . error ?. message ?? 'An error occurred' ,
30
+ } ) ;
31
+ }
32
+ return res . status ( result . code ) . json ( result . data ) ;
26
33
} catch ( error ) {
27
- return res . status ( 500 ) . json ( { success : false , message : 'An error occurred' , error } ) ;
34
+ return res
35
+ . status ( StatusCodes . INTERNAL_SERVER_ERROR )
36
+ . json ( { success : false , message : 'An error occurred' , error } ) ;
28
37
}
29
38
} ;
30
39
@@ -35,9 +44,16 @@ export const getQuestionDetails = async (req: Request, res: Response): Promise<R
35
44
36
45
try {
37
46
const result = await getQuestionDetailsService ( payload ) ;
38
- return res . status ( result . code ) . json ( result ) ;
47
+ if ( ! result . data || result . code >= 400 ) {
48
+ return res . status ( result . code ) . json ( {
49
+ message : result . error ?. message ?? 'An error occurred' ,
50
+ } ) ;
51
+ }
52
+ return res . status ( result . code ) . json ( result . data ) ;
39
53
} catch ( error ) {
40
- return res . status ( 500 ) . json ( { success : false , message : 'An error occurred' , error } ) ;
54
+ return res
55
+ . status ( StatusCodes . INTERNAL_SERVER_ERROR )
56
+ . json ( { success : false , message : 'An error occurred' , error } ) ;
41
57
}
42
58
} ;
43
59
@@ -51,7 +67,9 @@ export const getRandomQuestion = async (req: Request, res: Response): Promise<Re
51
67
const result = await getRandomQuestionService ( payload ) ;
52
68
return res . status ( result . code ) . json ( result ) ;
53
69
} catch ( error ) {
54
- return res . status ( 500 ) . json ( { success : false , message : 'An error occurred' , error } ) ;
70
+ return res
71
+ . status ( StatusCodes . INTERNAL_SERVER_ERROR )
72
+ . json ( { success : false , message : 'An error occurred' , error } ) ;
55
73
}
56
74
} ;
57
75
@@ -61,13 +79,17 @@ export const searchQuestionsByTitle = async (req: Request, res: Response): Promi
61
79
const limit = parseInt ( req . query . limit as string ) || 10 ;
62
80
63
81
if ( ! title ) {
64
- return res . status ( 400 ) . json ( { success : false , message : 'Title is required' } ) ;
82
+ return res
83
+ . status ( StatusCodes . UNPROCESSABLE_ENTITY )
84
+ . json ( { success : false , message : 'Title is required' } ) ;
65
85
}
66
86
67
87
try {
68
88
const result = await searchQuestionsByTitleService ( title . toString ( ) , page , limit ) ;
69
89
return res . status ( result . code ) . json ( result ) ;
70
90
} catch ( error ) {
71
- return res . status ( 500 ) . json ( { success : false , message : 'An error occurred' , error } ) ;
91
+ return res
92
+ . status ( StatusCodes . INTERNAL_SERVER_ERROR )
93
+ . json ( { success : false , message : 'An error occurred' , error } ) ;
72
94
}
73
95
} ;
0 commit comments