@@ -3,7 +3,10 @@ const db = app.get('db');
33
44module . exports = {
55 getUser : ( req , res , next ) => {
6- return res . status ( 200 ) . json ( req . user ) ;
6+ db . read . user_by_id ( [ req . user . id ] , ( err , user ) => {
7+ if ( err ) return next ( err ) ;
8+ return res . status ( 200 ) . json ( user [ 0 ] ) ;
9+ } ) ;
710 } ,
811
912 getKatasByKataId : ( req , res , next ) => {
@@ -17,10 +20,8 @@ module.exports = {
1720 let kataLevel = parseInt ( req . params . userkyu ) ;
1821 let bottomRange = kataLevel - 1 ;
1922 let topRange = kataLevel + 1 ;
20- console . log ( topRange ) ;
2123 db . read . random_kata ( [ bottomRange , topRange ] , ( err , katas ) => {
2224 if ( err ) return next ( err ) ;
23- console . log ( katas ) ;
2425 return res . status ( 200 ) . json ( katas [ Math . floor ( Math . random ( ) * katas . length ) ] ) ;
2526 } )
2627 } ,
@@ -67,60 +68,108 @@ module.exports = {
6768 } )
6869 } ,
6970
70- voteKata : ( req , res , next ) => {
71- db . read . check_kata_vote ( [ req . body . userid , req . body . kataid ] , ( err , data ) => {
71+ getKataVotes : ( req , res , next ) => {
72+ db . read . all_kata_likes ( [ ] , ( err , likes ) => {
7273 if ( err ) return next ( err ) ;
73- if ( data . length > 0 ) {
74- db . update . change_kata_vote ( [ req . body . userid , req . body . kataid , req . body . vote ] , ( err , change ) => {
75- if ( err ) return next ( err ) ;
76- } )
77- } else {
78- db . create . kata_likes ( [ req . body . userid , req . body . kataid , req . body . vote ] , ( err , rating ) => {
74+ db . read . all_kata_dislikes ( [ ] , ( err , dislikes ) => {
75+ if ( err ) return next ( err ) ;
76+ db . read . all_kata_votes ( [ ] , ( err , votes ) => {
7977 if ( err ) return next ( err ) ;
78+ return res . status ( 200 ) . json ( [ likes , dislikes , votes ] ) ;
8079 } )
81- }
80+ } )
8281 } )
83- db . read . get_kata_likes ( [ req . body . kataid ] , ( err , likes ) => {
82+ } ,
83+
84+ getSolutionVotes : ( req , res , next ) => {
85+ db . read . all_solution_likes ( [ ] , ( err , likes ) => {
8486 if ( err ) return next ( err ) ;
85- db . read . get_kata_dislikes ( [ req . body . kataid ] , ( err , dislikes ) => {
87+ db . read . all_solution_dislikes ( [ ] , ( err , dislikes ) => {
8688 if ( err ) return next ( err ) ;
87- db . read . get_kata_votes ( [ req . body . kataid ] , ( err , votes ) => {
89+ db . read . all_solution_votes ( [ ] , ( err , votes ) => {
8890 if ( err ) return next ( err ) ;
89- return res . status ( 200 ) . json ( { likes : likes [ 0 ] . likes , dislikes : dislikes [ 0 ] . dislikes , votes : votes [ 0 ] . votes } ) ;
91+ return res . status ( 200 ) . json ( [ likes , dislikes , votes ] ) ;
9092 } )
9193 } )
9294 } )
9395 } ,
9496
95- voteSolution : ( req , res , next ) => {
96- db . read . check_solution_vote ( [ req . body . userid , req . body . solutionid ] , ( err , data ) => {
97+ voteKata : ( req , res , next ) => {
98+ db . read . check_kata_vote ( [ req . body . userid , req . body . kataid ] , ( err , data ) => {
9799 if ( err ) return next ( err ) ;
98- if ( data . length > 0 ) {
99- db . update . change_solution_vote ( [ req . body . userid , req . body . solutionid , req . body . vote ] , ( err , change ) => {
100+ if ( data . length === 0 ) {
101+ db . create . kata_likes ( [ req . body . userid , req . body . kataid , req . body . vote ] , ( err , change ) => {
100102 if ( err ) return next ( err ) ;
103+ db . read . get_kata_likes ( [ req . body . kataid ] , ( err , likes ) => {
104+ if ( err ) return next ( err ) ;
105+ db . read . get_kata_dislikes ( [ req . body . kataid ] , ( err , dislikes ) => {
106+ if ( err ) return next ( err ) ;
107+ db . read . get_kata_votes ( [ req . body . kataid ] , ( err , votes ) => {
108+ if ( err ) return next ( err ) ;
109+ return res . status ( 200 ) . json ( { likes : likes [ 0 ] . likes , dislikes : dislikes [ 0 ] . dislikes , votes : votes [ 0 ] . votes } ) ;
110+ } )
111+ } )
112+ } )
101113 } )
102114 } else {
103- db . create . solution_likes ( [ req . body . userid , req . body . solutionid , req . body . vote ] , ( err , rating ) => {
115+ db . update . change_kata_vote ( [ req . body . userid , req . body . kataid , req . body . vote ] , ( err , rating ) => {
104116 if ( err ) return next ( err ) ;
117+ db . read . get_kata_likes ( [ req . body . kataid ] , ( err , likes ) => {
118+ if ( err ) return next ( err ) ;
119+ db . read . get_kata_dislikes ( [ req . body . kataid ] , ( err , dislikes ) => {
120+ if ( err ) return next ( err ) ;
121+ db . read . get_kata_votes ( [ req . body . kataid ] , ( err , votes ) => {
122+ if ( err ) return next ( err ) ;
123+ return res . status ( 200 ) . json ( { likes : likes [ 0 ] . likes , dislikes : dislikes [ 0 ] . dislikes , votes : votes [ 0 ] . votes } ) ;
124+ } )
125+ } )
126+ } )
105127 } )
106128 }
107129 } )
108- db . read . get_solution_likes ( [ req . body . solutionid ] , ( err , likes ) => {
130+
131+ } ,
132+
133+ voteSolution : ( req , res , next ) => {
134+ db . read . check_solution_vote ( [ req . body . userid , req . body . solutionid ] , ( err , data ) => {
109135 if ( err ) return next ( err ) ;
110- db . read . get_solution_dislikes ( [ req . body . solutionid ] , ( err , dislikes ) => {
111- if ( err ) return next ( err ) ;
112- db . read . get_solution_votes ( [ req . body . solutionid ] , ( err , votes ) => {
136+ if ( data . length === 0 ) {
137+ db . create . solution_likes ( [ req . body . userid , req . body . solutionid , req . body . vote ] , ( err , change ) => {
113138 if ( err ) return next ( err ) ;
114- return res . status ( 200 ) . json ( { likes : likes [ 0 ] . likes , dislikes : dislikes [ 0 ] . dislikes , votes : votes [ 0 ] . votes } ) ;
139+ db . read . get_solution_likes ( [ req . body . solutionid ] , ( err , likes ) => {
140+ if ( err ) return next ( err ) ;
141+ db . read . get_solution_dislikes ( [ req . body . solutionid ] , ( err , dislikes ) => {
142+ if ( err ) return next ( err ) ;
143+ db . read . get_solution_votes ( [ req . body . solutionid ] , ( err , votes ) => {
144+ if ( err ) return next ( err ) ;
145+ return res . status ( 200 ) . json ( { likes : likes [ 0 ] . likes , dislikes : dislikes [ 0 ] . dislikes , votes : votes [ 0 ] . votes } ) ;
146+ } )
147+ } )
148+ } )
115149 } )
116- } )
150+ } else {
151+ db . update . change_solution_vote ( [ req . body . userid , req . body . solutionid , req . body . vote ] , ( err , rating ) => {
152+ if ( err ) return next ( err ) ;
153+ db . read . get_solution_likes ( [ req . body . solutionid ] , ( err , likes ) => {
154+ if ( err ) return next ( err ) ;
155+ db . read . get_solution_dislikes ( [ req . body . solutionid ] , ( err , dislikes ) => {
156+ if ( err ) return next ( err ) ;
157+ db . read . get_solution_votes ( [ req . body . solutionid ] , ( err , votes ) => {
158+ if ( err ) return next ( err ) ;
159+ return res . status ( 200 ) . json ( { likes : likes [ 0 ] . likes , dislikes : dislikes [ 0 ] . dislikes , votes : votes [ 0 ] . votes } ) ;
160+ } )
161+ } )
162+ } )
163+ } )
164+ }
117165 } )
166+
118167 } ,
119168
120169 addPointsToUser : ( req , res , next ) => {
121- db . update . user_points ( [ req . body . points , req . body . id ] , ( err , user ) => {
170+ db . update . user_points ( [ req . body . points , req . user . id ] , ( err ) => {
122171 if ( err ) return next ( err ) ;
123- return res . status ( 200 ) . json ( user ) ;
172+ return res . sendStatus ( 200 )
124173 } )
125174 } ,
126175
0 commit comments