@@ -133,6 +133,10 @@ var TECHNOLOGY_FILTER = ' AND EXISTS (SELECT DISTINCT 1 FROM comp_technology ct
133
133
var PLATFORM_FILTER = ' AND EXISTS (SELECT 1 FROM project_platform pp WHERE pp.project_platform_id IN (@filter@) ' +
134
134
'AND p.project_id = pp.project_id)' ;
135
135
136
+ /* Filter based on review type */
137
+ var REVIEW_FILTER = ' AND EXISTS (SELECT 1 FROM project_info pi WHERE project_info_type_id = 79 AND value IN (@filter@) ' +
138
+ 'AND p.project_id = pi.project_id)' ;
139
+
136
140
/**
137
141
* The challenge type filter for challenges api.
138
142
* @since 1.30
@@ -176,7 +180,7 @@ var MY_CHALLENGES_FILTER = 'AND EXISTS ' +
176
180
var ALLOWABLE_QUERY_PARAMETER = [
177
181
"listType" , "challengeType" , "challengeName" , "projectId" , SORT_COLUMN ,
178
182
"sortOrder" , "pageIndex" , "pageSize" , "prizeLowerBound" , "prizeUpperBound" , "cmcTaskId" , 'communityId' ,
179
- "submissionEndFrom" , "submissionEndTo" , "technologies" , "platforms" ] ;
183
+ "submissionEndFrom" , "submissionEndTo" , "technologies" , "platforms" , 'review' ] ;
180
184
181
185
/**
182
186
* Represents a list of valid query parameter for split challenges api.
@@ -185,7 +189,7 @@ var ALLOWABLE_QUERY_PARAMETER = [
185
189
var SPLIT_API_ALLOWABLE_QUERY_PARAMETER = [
186
190
"challengeType" , "challengeName" , "projectId" , SORT_COLUMN ,
187
191
"sortOrder" , "pageIndex" , "pageSize" , "prizeLowerBound" , "prizeUpperBound" , 'communityId' ,
188
- "submissionEndFrom" , "submissionEndTo" , 'type' , 'platforms' , 'technologies' ] ;
192
+ "submissionEndFrom" , "submissionEndTo" , 'type' , 'platforms' , 'technologies' , 'review' ] ;
189
193
190
194
/**
191
195
* Represents a predefined list of valid sort column for active challenge.
@@ -763,7 +767,7 @@ var editSql = function (sql, template, content) {
763
767
* @since 1.23
764
768
*/
765
769
var addFilter = function ( sql , filter , isMyChallenges , helper , caller ) {
766
- var platform , technology , challengeFilter , challengeType ;
770
+ var platform , technology , review , challengeFilter , challengeType ;
767
771
if ( _ . isDefined ( filter . platforms ) ) {
768
772
platform = filter . platforms . join ( ', ' ) ;
769
773
sql . count = editSql ( sql . count , PLATFORM_FILTER , platform ) ;
@@ -781,6 +785,16 @@ var addFilter = function (sql, filter, isMyChallenges, helper, caller) {
781
785
sql . count = editSql ( sql . count , CHALLENGE_TYPE_FILTER , challengeType ) ;
782
786
sql . data = editSql ( sql . data , CHALLENGE_TYPE_FILTER , challengeType ) ;
783
787
}
788
+
789
+ if ( _ . isDefined ( filter . review ) ) {
790
+ review = "'" + filter . review . toUpperCase ( ) . replace ( / , / g, "','" ) + "'" ;
791
+ }
792
+ else {
793
+ review = "'COMMUNITY','INTERNAL'" ;
794
+ }
795
+
796
+ sql . count = editSql ( sql . count , REVIEW_FILTER , review ) ;
797
+ sql . data = editSql ( sql . data , REVIEW_FILTER , review ) ;
784
798
785
799
if ( isMyChallenges ) {
786
800
sql . count = editSql ( sql . count , MY_CHALLENGES_FILTER , null ) ;
@@ -876,7 +890,7 @@ var searchChallenges = function (api, connection, dbConnectionMap, community, ne
876
890
query = connection . rawConnection . parsedURL . query ,
877
891
caller = connection . caller ,
878
892
copyToFilter = [ "challengeType" , "challengeName" , "projectId" , "prizeLowerBound" ,
879
- "prizeUpperBound" , "cmcTaskId" , 'communityId' , "submissionEndFrom" , "submissionEndTo" , "technologies" , "platforms" ] ,
893
+ "prizeUpperBound" , "cmcTaskId" , 'communityId' , "submissionEndFrom" , "submissionEndTo" , "technologies" , "platforms" , "review" ] ,
880
894
sqlParams = { } ,
881
895
filter = { } ,
882
896
pageIndex ,
@@ -3636,7 +3650,7 @@ var getChallenges = function (api, connection, listType, isMyChallenges, next) {
3636
3650
query = connection . rawConnection . parsedURL . query ,
3637
3651
caller = connection . caller ,
3638
3652
copyToFilter = [ "challengeType" , "challengeName" , "projectId" , "prizeLowerBound" ,
3639
- "prizeUpperBound" , 'communityId' , "submissionEndFrom" , "submissionEndTo" , 'type' , 'technologies' , 'platforms' ] ,
3653
+ "prizeUpperBound" , 'communityId' , "submissionEndFrom" , "submissionEndTo" , 'type' , 'technologies' , 'platforms' , 'review' ] ,
3640
3654
dbConnectionMap = connection . dbConnectionMap ,
3641
3655
sqlParams = { } ,
3642
3656
filter = { } ,
0 commit comments