feathersjs/feathers-offline-publication

View on GitHub
src/server/index.js

Summary

Maintainability
A
0 mins
Test Coverage

import { stripSlashes } from 'feathers-commons/lib/utils';
import configure from './configure';
import filter from './filter';
import makeDebug from 'debug';

const debug = makeDebug('pub-filter');

export default function serverPublications (app, publications, serviceNames) {
  debug('publicationFilters start');
  serviceNames = Array.isArray(serviceNames) ? serviceNames : [serviceNames];

  serviceNames.forEach(serviceName => {
    debug(`Set filters for ${serviceName}`);
    serviceName = stripSlashes(serviceName);
    const remoteService = app.service(serviceName);

    ['created', 'updated', 'patched', 'removed'].forEach(event => {
      remoteService.filter(event, filter(serviceName));
    });
  });

  // handlers are attached only when connection occurs
  configure(app, publications);

  debug('publicationFilters end');
}