@@ -66,33 +66,51 @@ module.exports = {
6666 } ,
6767
6868 voteKata : ( req , res , next ) => {
69- db . create . kata_likes ( [ req . body . userid , req . body . kataid , req . body . vote ] , ( err , rating ) => {
69+ db . read . check_kata_vote ( [ req . body . userid , req . body . kataid ] , ( err , data ) => {
7070 if ( err ) return next ( err ) ;
71- db . read . get_kata_likes ( [ req . body . kataid ] , ( err , likes ) => {
71+ if ( data . length > 0 ) {
72+ db . update . change_kata_vote ( [ req . body . userid , req . body . kataid , req . body . vote ] , ( err , change ) => {
73+ if ( err ) return next ( err ) ;
74+ } )
75+ } else {
76+ db . create . kata_likes ( [ req . body . userid , req . body . kataid , req . body . vote ] , ( err , rating ) => {
77+ if ( err ) return next ( err ) ;
78+ } )
79+ }
80+ } )
81+ db . read . get_kata_likes ( [ req . body . kataid ] , ( err , likes ) => {
82+ if ( err ) return next ( err ) ;
83+ db . read . get_kata_dislikes ( [ req . body . kataid ] , ( err , dislikes ) => {
7284 if ( err ) return next ( err ) ;
73- db . read . get_kata_dislikes ( [ req . body . kataid ] , ( err , dislikes ) => {
85+ db . read . get_kata_votes ( [ req . body . kataid ] , ( err , votes ) => {
7486 if ( err ) return next ( err ) ;
75- db . read . get_kata_votes ( [ req . body . kataid ] , ( err , votes ) => {
76- if ( err ) return next ( err ) ;
77- return res . status ( 200 ) . json ( { likes : likes [ 0 ] . likes , dislikes : dislikes [ 0 ] . dislikes , votes : votes [ 0 ] . votes } ) ;
78- } )
87+ return res . status ( 200 ) . json ( { likes : likes [ 0 ] . likes , dislikes : dislikes [ 0 ] . dislikes , votes : votes [ 0 ] . votes } ) ;
7988 } )
8089 } )
8190 } )
8291 } ,
8392
8493 voteSolution : ( req , res , next ) => {
85- db . create . solution_likes ( [ req . body . userid , req . body . solutionid , req . body . vote ] , ( err , rating ) => {
94+ db . read . check_solution_vote ( [ req . body . userid , req . body . solutionid ] , ( err , data ) => {
8695 if ( err ) return next ( err ) ;
87- db . read . get_solution_likes ( [ req . body . solutionid ] , ( err , likes ) => {
96+ if ( data . length > 0 ) {
97+ db . update . change_solution_vote ( [ req . body . userid , req . body . solutionid , req . body . vote ] , ( err , change ) => {
98+ if ( err ) return next ( err ) ;
99+ } )
100+ } else {
101+ db . create . solution_likes ( [ req . body . userid , req . body . solutionid , req . body . vote ] , ( err , rating ) => {
102+ if ( err ) return next ( err ) ;
103+ } )
104+ }
105+ } )
106+ db . read . get_solution_likes ( [ req . body . solutionid ] , ( err , likes ) => {
107+ if ( err ) return next ( err ) ;
108+ db . read . get_solution_dislikes ( [ req . body . solutionid ] , ( err , dislikes ) => {
88109 if ( err ) return next ( err ) ;
89- db . read . get_solution_dislikes ( [ req . body . solutionid ] , ( err , dislikes ) => {
110+ db . read . get_solution_votes ( [ req . body . solutionid ] , ( err , votes ) => {
90111 if ( err ) return next ( err ) ;
91- db . read . get_solution_votes ( [ req . body . solutionid ] , ( err , votes ) => {
92- if ( err ) return next ( err ) ;
93- return res . status ( 200 ) . json ( { likes : likes [ 0 ] . likes , dislikes : dislikes [ 0 ] . dislikes , votes : votes [ 0 ] . votes } ) ;
94- } )
95- } )
112+ return res . status ( 200 ) . json ( { likes : likes [ 0 ] . likes , dislikes : dislikes [ 0 ] . dislikes , votes : votes [ 0 ] . votes } ) ;
113+ } )
96114 } )
97115 } )
98116 } ,
0 commit comments