@@ -22,13 +22,34 @@ router.get('/', (req, res, next) => {
2222 } ) ;
2323} ) ;
2424
25- // router.get('/:courseId', (req, res, next) => {
26- // Course.findbyId(req.params.courseId, (err, course) => {
27- //
28- //
29- // });
30- //
31- // });
25+ router . get ( '/:courseId' , ( req , res , next ) => {
26+ Course . findById ( req . params . courseId , ( err , course ) => {
27+ Utils . isError ( err , next ) ;
28+ course . getUser ( ( err1 , user ) => {
29+ Utils . isError ( err1 , next ) ;
30+ course . user = user ;
31+ let itemsProcessed = 0 ;
32+ course . reviews . forEach ( ( courseReview , index , array ) => {
33+ course . getReview ( index , ( err2 , review ) => {
34+ Utils . isError ( err2 , next ) ;
35+ review . getUser ( ( err3 , reviewUser ) => {
36+ Utils . isError ( err3 , next ) ;
37+ review . user = reviewUser ;
38+ course . reviews [ index ] = review ;
39+ itemsProcessed ++ ;
40+ if ( itemsProcessed === array . length ) {
41+ res . locals . course = course ;
42+ next ( ) ;
43+ }
44+ } ) ;
45+ } ) ;
46+ } ) ;
47+ } ) ;
48+ } ) ;
49+ } , ( req , res ) => {
50+ let status = 200 ;
51+ return res . status ( status ) . json ( { success : true , message : "Course Successfully retrieved!" , status : status , course : res . locals . course } ) ;
52+ } ) ;
3253
3354router . post ( '/' , authorizeUser , ( req , res , next ) => {
3455 if ( ! req . body . title || ! req . body . description ) {
0 commit comments