@@ -396,49 +396,8 @@ module.exports = function (PublishedData) {
396396 } ) ;
397397
398398 PublishedData . beforeRemote ( "find" , function ( ctx , unused , next ) {
399- const accessToken = ctx . args . options . accessToken ;
400- if ( ! accessToken ) {
401- let filter = { } ;
402- if ( ctx . args . filter ) {
403- if ( ctx . args . filter . where ) {
404- filter . where = { } ;
405- if ( ctx . args . filter . where . and ) {
406- filter . where . and = [ ] ;
407- filter . where . and . push ( { status : "registered" } ) ;
408- filter . where . and = filter . where . and . concat (
409- ctx . args . filter . where . and
410- ) ;
411- } else if ( ctx . args . filter . where . or ) {
412- filter . where . and = [ ] ;
413- filter . where . and . push ( { status : "registered" } ) ;
414- filter . where . and . push ( { or : ctx . args . filter . where . or } ) ;
415- } else {
416- filter . where = {
417- and : [ { status : "registered" } ] . concat (
418- ctx . args . filter . where
419- ) ,
420- } ;
421- }
422- } else {
423- filter . where = { status : "registered" } ;
424- }
425- if ( ctx . args . filter . skip ) {
426- filter . skip = ctx . args . filter . skip ;
427- }
428- if ( ctx . args . filter . limit ) {
429- filter . limit = ctx . args . filter . limit ;
430- }
431- if ( ctx . args . filter . include ) {
432- filter . include = ctx . args . filter . include ;
433- }
434- if ( ctx . args . filter . fields ) {
435- filter . fields = ctx . args . filter . fields ;
436- }
437- } else {
438- filter = { where : { status : "registered" } } ;
439- }
440- ctx . args . filter = filter ;
441- }
399+ const filter = addRegisteredIfUnathenticated ( ctx , ctx . args . filter ) ;
400+ if ( filter ) ctx . args . filter = filter ;
442401 next ( ) ;
443402 } ) ;
444403
@@ -455,4 +414,58 @@ module.exports = function (PublishedData) {
455414 // PublishedData.beforeRemote('patchOrCreate', function(ctx, instance, next) {
456415 // next();
457416 // });
417+
418+ PublishedData . beforeRemote ( "count" , function ( ctx , unused , next ) {
419+ const filter = addRegisteredIfUnathenticated ( ctx , ctx . args ) ;
420+ if ( filter ) ctx . args . where = filter . where ;
421+ next ( ) ;
422+ } ) ;
458423} ;
424+
425+ function addRegisteredIfUnathenticated ( ctx , filterField ) {
426+ const filterClone = JSON . parse ( JSON . stringify ( filterField ) ) ;
427+ const accessToken = ctx . args . options . accessToken ;
428+ if ( ! accessToken ) {
429+ let filter = { } ;
430+ if ( filterClone ) {
431+ if ( filterClone . where ) {
432+ filter . where = { } ;
433+ if ( filterClone . where . and ) {
434+ filter . where . and = [ ] ;
435+ filter . where . and . push ( { status : "registered" } ) ;
436+ filter . where . and = filter . where . and . concat (
437+ filterClone . where . and
438+ ) ;
439+ } else if ( filterClone . or ) {
440+ filter . where . and = [ ] ;
441+ filter . where . and . push ( { status : "registered" } ) ;
442+ filter . where . and . push ( { or : filterClone . where . or } ) ;
443+ } else {
444+ filter . where = {
445+ and : [ { status : "registered" } ] . concat (
446+ filterClone . where
447+ ) ,
448+ } ;
449+ }
450+ } else {
451+ filter . where = { status : "registered" } ;
452+ }
453+ if ( filterClone . skip ) {
454+ filter . skip = filterClone . skip ;
455+ }
456+ if ( filterClone . limit ) {
457+ filter . limit = filterClone . limit ;
458+ }
459+ if ( filterClone . include ) {
460+ filter . include = filterClone . include ;
461+ }
462+ if ( filterClone . fields ) {
463+ filter . fields = filterClone . fields ;
464+ }
465+ } else {
466+ filter = { where : { status : "registered" } } ;
467+ }
468+ return filter ;
469+ }
470+ }
471+
0 commit comments