redirect.coffee 710 B

12345678910111213141516171819202122232425262728
  1. Spine = require('spine/core')
  2. utils = require('lib/utils')
  3. BaseModel = require('models/base')
  4. class Redirect extends BaseModel
  5. @configure "Redirect", "_id", "site", "slug", "location"
  6. @extend @CouchAjax
  7. @extend @CouchChanges
  8. handler: @CouchChanges.PrivateChanges
  9. @queryOn: ['slug','location']
  10. validate: ->
  11. return 'ID is required' unless @_id
  12. return 'Site is required' unless @site
  13. return 'Slug is required' unless @slug
  14. return 'Location is required' unless @location
  15. # Validate the `_id` to be unique in the system
  16. if @isNew()
  17. found = Redirect.exists(@_id)
  18. return 'ID has been already used.' if found
  19. return false
  20. module.exports = Redirect