@@ -13,6 +13,9 @@ var getDefaultPagination = require('../libs/templateHelpers').getDefaultPaginati
1313
1414var lockdown = process . env . FORCE_BUSY_UPDATEURL_CHECK === 'true' ;
1515
16+ var authQuery = JSON . parse ( process . env . AUTH_QUERY || '{}' ) ;
17+ var limitQuery = JSON . parse ( process . env . LIMIT_QUERY || '{}' ) ;
18+
1619// Transform a "tri-state" value condition to null for true/false/null stored DB values
1720// See also #701
1821var findOrDefaultToNull = function ( aQuery , aKey , aValue , aDefaultValue ) {
@@ -115,8 +118,7 @@ var parseModelListSearchQuery = function (aModelListQuery, aQuery, aSearchOption
115118} ;
116119
117120var parseScriptSearchQuery = function ( aScriptListQuery , aQuery ) {
118- if ( process . env . LIMIT_SEARCH_QUERY === 'true'
119- || process . env . FORCE_BUSY_UPDATEURL_CHECK === 'true' ) {
121+ if ( lockdown || limitQuery . Script === 'true' ) {
120122 parseModelListSearchQuery ( aScriptListQuery , aQuery , {
121123 partialWordMatchFields : [ 'name' , '_description' , 'author' ] ,
122124 fullWordMatchFields : [ 'meta.UserScript.include.value' , 'meta.UserScript.match.value' ]
@@ -131,26 +133,47 @@ var parseScriptSearchQuery = function (aScriptListQuery, aQuery) {
131133exports . parseScriptSearchQuery = parseScriptSearchQuery ;
132134
133135var parseGroupSearchQuery = function ( aGroupListQuery , aQuery ) {
134- parseModelListSearchQuery ( aGroupListQuery , aQuery , {
135- partialWordMatchFields : [ 'name' ] ,
136- fullWordMatchFields : [ ]
137- } ) ;
136+ if ( lockdown || limitQuery . Group === 'true' ) {
137+ parseModelListSearchQuery ( aGroupListQuery , aQuery , {
138+ partialWordMatchFields : [ 'name' ] ,
139+ fullWordMatchFields : [ ]
140+ } ) ;
141+ } else {
142+ parseModelListSearchQuery ( aGroupListQuery , aQuery , {
143+ partialWordMatchFields : [ 'name' ] ,
144+ fullWordMatchFields : [ ]
145+ } ) ;
146+ }
138147} ;
139148exports . parseGroupSearchQuery = parseGroupSearchQuery ;
140149
141150var parseDiscussionSearchQuery = function ( aDiscussionListQuery , aQuery ) {
142- parseModelListSearchQuery ( aDiscussionListQuery , aQuery , {
143- partialWordMatchFields : [ 'topic' ] ,
144- fullWordMatchFields : [ 'author' ]
145- } ) ;
151+ if ( lockdown || limitQuery . Discussion === 'true' ) {
152+ parseModelListSearchQuery ( aDiscussionListQuery , aQuery , {
153+ partialWordMatchFields : [ 'topic' ] ,
154+ fullWordMatchFields : [ 'author' ]
155+ } ) ;
156+ } else {
157+ parseModelListSearchQuery ( aDiscussionListQuery , aQuery , {
158+ partialWordMatchFields : [ 'topic' ] ,
159+ fullWordMatchFields : [ 'author' ]
160+ } ) ;
161+ }
146162} ;
147163exports . parseDiscussionSearchQuery = parseDiscussionSearchQuery ;
148164
149165var parseCommentSearchQuery = function ( aCommentListQuery , aQuery ) {
150- parseModelListSearchQuery ( aCommentListQuery , aQuery , {
151- partialWordMatchFields : [ 'content' ] ,
152- fullWordMatchFields : [ 'author' ]
153- } ) ;
166+ if ( lockdown || limitQuery . Comment === 'true' ) {
167+ parseModelListSearchQuery ( aCommentListQuery , aQuery , {
168+ partialWordMatchFields : [ 'content' ] ,
169+ fullWordMatchFields : [ 'author' ]
170+ } ) ;
171+ } else {
172+ parseModelListSearchQuery ( aCommentListQuery , aQuery , {
173+ partialWordMatchFields : [ 'content' ] ,
174+ fullWordMatchFields : [ 'author' ]
175+ } ) ;
176+ }
154177} ;
155178exports . parseCommentSearchQuery = parseCommentSearchQuery ;
156179
@@ -163,10 +186,17 @@ var parseSyncSearchQuery = function (aSyncListQuery, aQuery) {
163186exports . parseSyncSearchQuery = parseSyncSearchQuery ;
164187
165188var parseUserSearchQuery = function ( aUserListQuery , aQuery ) {
166- parseModelListSearchQuery ( aUserListQuery , aQuery , {
167- partialWordMatchFields : [ 'name' ] ,
168- fullWordMatchFields : [ ]
169- } ) ;
189+ if ( lockdown || limitQuery . User === 'true' ) {
190+ parseModelListSearchQuery ( aUserListQuery , aQuery , {
191+ partialWordMatchFields : [ 'name' ] ,
192+ fullWordMatchFields : [ ]
193+ } ) ;
194+ } else {
195+ parseModelListSearchQuery ( aUserListQuery , aQuery , {
196+ partialWordMatchFields : [ 'name' ] ,
197+ fullWordMatchFields : [ ]
198+ } ) ;
199+ }
170200} ;
171201exports . parseUserSearchQuery = parseUserSearchQuery ;
172202
@@ -349,7 +379,7 @@ var applyModelListQueryDefaults = function (aModelListQuery, aOptions, aReq, aDe
349379} ;
350380
351381exports . applyCommentListQueryDefaults = function ( aCommentListQuery , aOptions , aReq ) {
352- aOptions . authToSearch = lockdown ;
382+ aOptions . authToSearch = lockdown || authQuery . Comment === 'true' ;
353383
354384 applyModelListQueryDefaults ( aCommentListQuery , aOptions , aReq , {
355385 defaultSort : 'created' ,
@@ -367,8 +397,6 @@ exports.applyCommentListQueryDefaults = function (aCommentListQuery, aOptions, a
367397} ;
368398
369399exports . applySyncListQueryDefaults = function ( aSyncListQuery , aOptions , aReq ) {
370- aOptions . authToSearch = lockdown ;
371-
372400 applyModelListQueryDefaults ( aSyncListQuery , aOptions , aReq , {
373401 defaultSort : '-created' ,
374402 parseSearchQueryFn : parseSyncSearchQuery ,
@@ -378,7 +406,7 @@ exports.applySyncListQueryDefaults = function (aSyncListQuery, aOptions, aReq) {
378406} ;
379407
380408exports . applyDiscussionListQueryDefaults = function ( aDiscussionListQuery , aOptions , aReq ) {
381- aOptions . authToSearch = lockdown ;
409+ aOptions . authToSearch = lockdown || authQuery . Discussion === 'true' ;
382410
383411 applyModelListQueryDefaults ( aDiscussionListQuery , aOptions , aReq , {
384412 defaultSort : '-updated -created' ,
@@ -389,7 +417,7 @@ exports.applyDiscussionListQueryDefaults = function (aDiscussionListQuery, aOpti
389417} ;
390418
391419exports . applyGroupListQueryDefaults = function ( aGroupListQuery , aOptions , aReq ) {
392- aOptions . authToSearch = lockdown ;
420+ aOptions . authToSearch = lockdown || authQuery . Group === 'true' ;
393421
394422 applyModelListQueryDefaults ( aGroupListQuery , aOptions , aReq , {
395423 defaultSort : '-rating name' ,
@@ -408,7 +436,7 @@ var scriptListQueryDefaults = {
408436} ;
409437exports . scriptListQueryDefaults = scriptListQueryDefaults ;
410438exports . applyScriptListQueryDefaults = function ( aScriptListQuery , aOptions , aReq ) {
411- aOptions . authToSearch = lockdown ;
439+ aOptions . authToSearch = lockdown || authQuery . Script === 'true' ;
412440
413441 applyModelListQueryDefaults ( aScriptListQuery , aOptions , aReq , scriptListQueryDefaults ) ;
414442} ;
@@ -425,13 +453,13 @@ var libraryListQueryDefaults = {
425453} ;
426454exports . libraryListQueryDefaults = libraryListQueryDefaults ;
427455exports . applyLibraryListQueryDefaults = function ( aLibraryListQuery , aOptions , aReq ) {
428- aOptions . authToSearch = lockdown ;
456+ aOptions . authToSearch = lockdown || authQuery . Script === 'true' ;
429457
430458 applyModelListQueryDefaults ( aLibraryListQuery , aOptions , aReq , libraryListQueryDefaults ) ;
431459} ;
432460
433461exports . applyUserListQueryDefaults = function ( aUserListQuery , aOptions , aReq ) {
434- aOptions . authToSearch = lockdown ;
462+ aOptions . authToSearch = lockdown || authQuery . User === 'true' ;
435463
436464 applyModelListQueryDefaults ( aUserListQuery , aOptions , aReq , {
437465 defaultSort : 'name' ,
0 commit comments