@@ -133,6 +133,10 @@ var TECHNOLOGY_FILTER = ' AND EXISTS (SELECT DISTINCT 1 FROM comp_technology ct
133133var PLATFORM_FILTER = ' AND EXISTS (SELECT 1 FROM project_platform pp WHERE pp.project_platform_id IN (@filter@) ' +
134134 'AND p.project_id = pp.project_id)' ;
135135
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+
136140/**
137141 * The challenge type filter for challenges api.
138142 * @since 1.30
@@ -176,7 +180,7 @@ var MY_CHALLENGES_FILTER = 'AND EXISTS ' +
176180var ALLOWABLE_QUERY_PARAMETER = [
177181 "listType" , "challengeType" , "challengeName" , "projectId" , SORT_COLUMN ,
178182 "sortOrder" , "pageIndex" , "pageSize" , "prizeLowerBound" , "prizeUpperBound" , "cmcTaskId" , 'communityId' ,
179- "submissionEndFrom" , "submissionEndTo" , "technologies" , "platforms" ] ;
183+ "submissionEndFrom" , "submissionEndTo" , "technologies" , "platforms" , 'review' ] ;
180184
181185/**
182186 * Represents a list of valid query parameter for split challenges api.
@@ -185,7 +189,7 @@ var ALLOWABLE_QUERY_PARAMETER = [
185189var SPLIT_API_ALLOWABLE_QUERY_PARAMETER = [
186190 "challengeType" , "challengeName" , "projectId" , SORT_COLUMN ,
187191 "sortOrder" , "pageIndex" , "pageSize" , "prizeLowerBound" , "prizeUpperBound" , 'communityId' ,
188- "submissionEndFrom" , "submissionEndTo" , 'type' , 'platforms' , 'technologies' ] ;
192+ "submissionEndFrom" , "submissionEndTo" , 'type' , 'platforms' , 'technologies' , 'review' ] ;
189193
190194/**
191195 * Represents a predefined list of valid sort column for active challenge.
@@ -763,7 +767,7 @@ var editSql = function (sql, template, content) {
763767 * @since 1.23
764768 */
765769var addFilter = function ( sql , filter , isMyChallenges , helper , caller ) {
766- var platform , technology , challengeFilter , challengeType ;
770+ var platform , technology , review , challengeFilter , challengeType ;
767771 if ( _ . isDefined ( filter . platforms ) ) {
768772 platform = filter . platforms . join ( ', ' ) ;
769773 sql . count = editSql ( sql . count , PLATFORM_FILTER , platform ) ;
@@ -781,6 +785,16 @@ var addFilter = function (sql, filter, isMyChallenges, helper, caller) {
781785 sql . count = editSql ( sql . count , CHALLENGE_TYPE_FILTER , challengeType ) ;
782786 sql . data = editSql ( sql . data , CHALLENGE_TYPE_FILTER , challengeType ) ;
783787 }
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 ) ;
784798
785799 if ( isMyChallenges ) {
786800 sql . count = editSql ( sql . count , MY_CHALLENGES_FILTER , null ) ;
@@ -876,7 +890,7 @@ var searchChallenges = function (api, connection, dbConnectionMap, community, ne
876890 query = connection . rawConnection . parsedURL . query ,
877891 caller = connection . caller ,
878892 copyToFilter = [ "challengeType" , "challengeName" , "projectId" , "prizeLowerBound" ,
879- "prizeUpperBound" , "cmcTaskId" , 'communityId' , "submissionEndFrom" , "submissionEndTo" , "technologies" , "platforms" ] ,
893+ "prizeUpperBound" , "cmcTaskId" , 'communityId' , "submissionEndFrom" , "submissionEndTo" , "technologies" , "platforms" , "review" ] ,
880894 sqlParams = { } ,
881895 filter = { } ,
882896 pageIndex ,
@@ -3636,7 +3650,7 @@ var getChallenges = function (api, connection, listType, isMyChallenges, next) {
36363650 query = connection . rawConnection . parsedURL . query ,
36373651 caller = connection . caller ,
36383652 copyToFilter = [ "challengeType" , "challengeName" , "projectId" , "prizeLowerBound" ,
3639- "prizeUpperBound" , 'communityId' , "submissionEndFrom" , "submissionEndTo" , 'type' , 'technologies' , 'platforms' ] ,
3653+ "prizeUpperBound" , 'communityId' , "submissionEndFrom" , "submissionEndTo" , 'type' , 'technologies' , 'platforms' , 'review' ] ,
36403654 dbConnectionMap = connection . dbConnectionMap ,
36413655 sqlParams = { } ,
36423656 filter = { } ,
0 commit comments