diff --git a/modules/@apostrophecms/doc-type/index.js b/modules/@apostrophecms/doc-type/index.js new file mode 100644 index 00000000..042da795 --- /dev/null +++ b/modules/@apostrophecms/doc-type/index.js @@ -0,0 +1,25 @@ +module.exports = { + options: { + forbiddenSlugs: [ + '/evil-page', + 'evil-piece' + ] + }, + handlers(self) { + return { + beforeSave: { + checkForbiddenSlugs(req, doc) { + if (self.options.forbiddenSlugs.includes(doc.slug)) { + const e = self.apos.error('invalid', 'That slug is reserved.'); + e.path = 'slug'; + throw self.apos.error('invalid', { + errors: [ + e + ] + }); + } + } + } + } + } +};