grapher/lib/exposure/exposure.config.schema.js

32 lines
No EOL
911 B
JavaScript

import createGraph from '../query/lib/createGraph.js';
import {Match} from 'meteor/check';
export const ExposureDefaults = {
blocking: false,
method: true,
publication: true,
};
export const ExposureSchema = {
firewall: Match.Maybe(
Match.OneOf(Function, [Function])
),
maxLimit: Match.Maybe(Match.Integer),
maxDepth: Match.Maybe(Match.Integer),
publication: Match.Maybe(Boolean),
method: Match.Maybe(Boolean),
blocking: Match.Maybe(Boolean),
body: Match.Maybe(Object),
restrictedFields: Match.Maybe([String]),
restrictLinks: Match.Maybe(
Match.OneOf(Function, [String])
),
};
export function validateBody(collection, body) {
try {
createGraph(collection, body);
} catch (e) {
throw new Meteor.Error('invalid-body', 'We could not build a valid graph when trying to create your exposure: ' + e.toString())
}
}