get-express-starter
Version:
Get production ready express boilerplate with a single command
56 lines (49 loc) • 1.1 kB
text/typescript
import Joi from 'joi';
import { password } from './custom.validation';
const createUser = {
body: Joi.object().keys({
email: Joi.string().required().email(),
password: Joi.string().required().custom(password),
name: Joi.string().required(),
role: Joi.string().valid('ADMIN', 'USER'),
}),
};
const getUsers = {
query: Joi.object().keys({
name: Joi.string(),
address: Joi.string(),
role: Joi.string(),
sortBy: Joi.string(),
limit: Joi.number().integer(),
page: Joi.number().integer(),
}),
};
const getUser = {
params: Joi.object().keys({
userId: Joi.string().uuid().required(),
}),
};
const updateUser = {
params: Joi.object().keys({
userId: Joi.string().uuid().required(),
}),
body: Joi.object()
.keys({
email: Joi.string().email(),
password: Joi.string().custom(password),
name: Joi.string(),
})
.min(1),
};
const deleteUser = {
params: Joi.object().keys({
userId: Joi.string().uuid().required(),
}),
};
export default {
createUser,
getUsers,
getUser,
updateUser,
deleteUser,
};