validate.coffee 785 B

12345678910111213141516171819
  1. utils = require('lib/utils')
  2. exports.validate_doc_update = (newDoc, oldDoc, userCtx) ->
  3. types = ['essay','scene','video','profile']
  4. access = if '_admin' in userCtx.roles or '_creator' in userCtx.roles or 'admin' in userCtx.roles or 'manager' in userCtx.roles then true else false
  5. if not access
  6. throw unauthorized: 'You must have the role admin or manager to make changes'
  7. if newDoc.type in types
  8. throw forbidden: 'site is a required field' unless newDoc.site
  9. throw forbidden: 'title is a required field' unless newDoc.title
  10. newDoc.slug = utils.cleanSlug newDoc.slug
  11. throw forbidden: 'slug is a required field' unless newDoc.slug
  12. if newDoc.published
  13. throw forbidden: 'Published doc must have a publish date' unless newDoc.published_at