You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

response-keys.js 936B

123456789101112131415161718192021222324252627282930313233
  1. const Joi = require('joi')
  2. /**
  3. * Response Keys
  4. * A response key is a question in the onboarding survey.
  5. * We track the questions we ask to aggregate analytics
  6. * about survey effectiveness.
  7. */
  8. // validator is used to validate route input/output
  9. const validator = Joi.object({
  10. response_key_id: Joi.number().required(),
  11. response_key_category: Joi.string().required(),
  12. response_key_prompt: Joi.string().required(),
  13. response_key_description: Joi.any()
  14. }).label('question__single_validator')
  15. const list = Joi.array().items(validator).label('question__list_validator')
  16. // single is used to define database models
  17. const single = Joi.object({
  18. response_key_id: Joi.number().required(),
  19. response_key_category: Joi.string().required(),
  20. response_key_prompt: Joi.string().required(),
  21. response_key_description: Joi.any()
  22. }).label('question__single')
  23. module.exports = {
  24. single,
  25. validator,
  26. list
  27. }