| 1234567891011121314151617181920212223242526272829303132333435363738 |
- import Joi from 'joi'
- import domains from './tlds-alpha-by-domain.js'
-
- const answerValidator = {
- name: Joi.string().min(2).max(50).required(),
- email: Joi.string().email({
- minDomainSegments: 2,
- tlds: { allow: domains },
- }),
- // TODO: change to valdate against JWT??
- auth: Joi.any(),
-
- // password: Joi.string().min(10).max(30).pattern(new RegExp('[a-zA-Z0-9]+')),
- password: Joi.string().max(30).pattern(new RegExp('[a-zA-Z0-9]+')),
- // TODO: Change if going international (only works in usa)
- zipcode: Joi.string().min(5).max(5).pattern(new RegExp('^[0-9]{5}$')),
- seeking: Joi.string(),
- urgency: Joi.string(),
- presence: Joi.string(),
- duration: Joi.string(),
- pronouns: Joi.string(),
- language: Joi.string(),
- image: Joi.any(),
- // NOTE: Allows 1 to 3 digits and then distance metric
- distance: Joi.string()
- .min(4)
- .max(15)
- .pattern(
- new RegExp(
- '^\\d{1,3}(\\.\\d{1,2})?\\s?(mi|km|mile|miles|kilometer|kilometers)$',
- ),
- ),
- blurb: Joi.string().max(200),
- value: Joi.string(),
- aspect: Joi.number(),
- }
-
- export { answerValidator }
|