UC /users v1.0
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
const Joi = require('joi');
|
||||
|
||||
const ceoModifyModel = Joi.object({
|
||||
name: Joi.string().required().messages({
|
||||
'any.required': 'CEO name is required',
|
||||
'string.empty': 'CEO name must not be empty'
|
||||
}),
|
||||
email: Joi.string().email().required().messages({
|
||||
'any.required': 'CEO email is required',
|
||||
'string.empty': 'CEO email must not be empty',
|
||||
'string.email': 'CEO email must be a valid email address'
|
||||
})
|
||||
});
|
||||
|
||||
module.exports = ceoModifyModel;
|
||||
@@ -0,0 +1,10 @@
|
||||
const Joi = require('joi');
|
||||
|
||||
const ceoPasswordModel = Joi.object({
|
||||
password: Joi.string().required().messages({
|
||||
'any.required': 'Password is required',
|
||||
'string.empty': 'Password must not be empty'
|
||||
})
|
||||
});
|
||||
|
||||
module.exports = ceoPasswordModel;
|
||||
@@ -1,8 +0,0 @@
|
||||
const Joi = require('joi');
|
||||
|
||||
const ceoRegisterModel = Joi.object({
|
||||
name: Joi.string().required(),
|
||||
email: Joi.string().email().required()
|
||||
});
|
||||
|
||||
module.exports = ceoRegisterModel;
|
||||
@@ -1,7 +1,10 @@
|
||||
const Joi = require('joi');
|
||||
|
||||
const departmentRegisterModel = Joi.object({
|
||||
name: Joi.string().required()
|
||||
name: Joi.string().required().messages({
|
||||
'any.required': 'Department name is required',
|
||||
'string.empty': 'Department name must not be empty'
|
||||
})
|
||||
});
|
||||
|
||||
module.exports = departmentRegisterModel
|
||||
@@ -1,9 +1,20 @@
|
||||
const Joi = require('joi');
|
||||
|
||||
const dirStructureModel = Joi.object({
|
||||
id: Joi.string().guid().required(),
|
||||
dir_config: Joi.string().required(),
|
||||
total_space: Joi.number().positive().required()
|
||||
id: Joi.string().guid().required().messages({
|
||||
'any.required': 'ID is required',
|
||||
'string.empty': 'ID must not be empty',
|
||||
'string.guid': 'ID must be a valid GUID'
|
||||
}),
|
||||
dir_config: Joi.string().required().messages({
|
||||
'any.required': 'Directory configuration is required',
|
||||
'string.empty': 'Directory configuration must not be empty'
|
||||
}),
|
||||
total_space: Joi.number().positive().required().messages({
|
||||
'any.required': 'Total space is required',
|
||||
'number.positive': 'Total space must be a positive number',
|
||||
'number.base': 'Total space must be a number'
|
||||
})
|
||||
});
|
||||
|
||||
module.exports = dirStructureModel
|
||||
@@ -1,7 +1,11 @@
|
||||
const Joi = require('joi');
|
||||
|
||||
const emailVerificationModel = Joi.object({
|
||||
email: Joi.string().email().required()
|
||||
email: Joi.string().email().required().messages({
|
||||
'string.empty': 'Email can\'t be empty.',
|
||||
'string.email': 'Invalid email format.',
|
||||
'any.required': 'Email is required'
|
||||
})
|
||||
});
|
||||
|
||||
module.exports = emailVerificationModel;
|
||||
@@ -3,9 +3,10 @@ const usersLoginModelSchema = require('./usersLoginModel');
|
||||
const usersModifyModelSchema = require('./usersModifyModel');
|
||||
const dirStructureModelSchema = require('./dirStructureModel');
|
||||
const departmentRegisterModelSchema = require('./departmentRegisterModel');
|
||||
const ceoRegisterModelSchema = require('./ceoRegisterModel');
|
||||
const ceoModifyModelSchema = require('./ceoModifyModel');
|
||||
const emailVerificationSchema = require('./emailVerificationModel');
|
||||
const userDepartmentPatchSchema = require('./userDepartmentPatchModel');
|
||||
const ceoPasswordModelSchema = require('./ceoPasswordModel');
|
||||
|
||||
module.exports = {
|
||||
schemas: {
|
||||
@@ -14,8 +15,9 @@ module.exports = {
|
||||
usersLoginModelSchema,
|
||||
usersModifyModelSchema,
|
||||
departmentRegisterModelSchema,
|
||||
ceoRegisterModelSchema,
|
||||
ceoModifyModelSchema,
|
||||
emailVerificationSchema,
|
||||
userDepartmentPatchSchema
|
||||
userDepartmentPatchSchema,
|
||||
ceoPasswordModelSchema
|
||||
},
|
||||
};
|
||||
@@ -1,7 +1,11 @@
|
||||
const Joi = require("joi");
|
||||
|
||||
const UserDepartmentPatchModel = Joi.object({
|
||||
department: Joi.string().uuid().required()
|
||||
id: Joi.string().uuid().required().messages({
|
||||
'any.required': 'User ID is required',
|
||||
'string.empty': 'User ID must not be empty',
|
||||
'string.uuid': 'User ID must be a valid UUID'
|
||||
})
|
||||
});
|
||||
|
||||
module.exports = UserDepartmentPatchModel;
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
const Joi = require('joi');
|
||||
|
||||
const usersLoginModel = Joi.object({
|
||||
email: Joi.string().email().required(),
|
||||
password: Joi.string().required()
|
||||
email: Joi.string().email().required().messages({
|
||||
'any.required': 'Email is required',
|
||||
'string.empty': 'Email must not be empty',
|
||||
'string.email': 'Email must be a valid email address'
|
||||
}),
|
||||
password: Joi.string().required().messages({
|
||||
'any.required': 'Password is required',
|
||||
'string.empty': 'Password must not be empty'
|
||||
})
|
||||
});
|
||||
|
||||
module.exports = usersLoginModel;
|
||||
@@ -1,9 +1,21 @@
|
||||
const Joi = require('joi');
|
||||
|
||||
const usersModifyModel = Joi.object({
|
||||
name: Joi.string().required(),
|
||||
email: Joi.string().email().required(),
|
||||
password: Joi.string().min(8).max(20).required()
|
||||
name: Joi.string().required().messages({
|
||||
'any.required': 'User name is required',
|
||||
'string.empty': 'User name must not be empty'
|
||||
}),
|
||||
email: Joi.string().email().required().messages({
|
||||
'any.required': 'User email is required',
|
||||
'string.empty': 'User email must not be empty',
|
||||
'string.email': 'User email must be a valid email address'
|
||||
}),
|
||||
password: Joi.string().min(8).max(20).required().messages({
|
||||
'any.required': 'Password is required',
|
||||
'string.empty': 'Password must not be empty',
|
||||
'string.min': 'Password must be at least {#limit} characters long',
|
||||
'string.max': 'Password must be at most {#limit} characters long'
|
||||
})
|
||||
});
|
||||
|
||||
module.exports = usersModifyModel;
|
||||
@@ -1,10 +1,26 @@
|
||||
const Joi = require('joi');
|
||||
|
||||
const usersRegisterModel = Joi.object({
|
||||
name: Joi.string().required(),
|
||||
email: Joi.string().email().required(),
|
||||
password: Joi.string().min(8).max(20).required(),
|
||||
department: Joi.string().uuid().required()
|
||||
name: Joi.string().required().messages({
|
||||
'any.required': 'User name is required',
|
||||
'string.empty': 'User name must not be empty'
|
||||
}),
|
||||
email: Joi.string().email().required().messages({
|
||||
'any.required': 'Email is required',
|
||||
'string.empty': 'Email must not be empty',
|
||||
'string.email': 'Email must be a valid email address'
|
||||
}),
|
||||
password: Joi.string().min(8).max(20).required().messages({
|
||||
'any.required': 'Password is required',
|
||||
'string.empty': 'Password must not be empty',
|
||||
'string.min': 'Password must be at least {#limit} characters long',
|
||||
'string.max': 'Password must be at most {#limit} characters long'
|
||||
}),
|
||||
department: Joi.string().uuid().required().messages({
|
||||
'any.required': 'Department ID is required',
|
||||
'string.empty': 'Department ID must not be empty',
|
||||
'string.uuid': 'Department ID must be a valid UUID'
|
||||
})
|
||||
});
|
||||
|
||||
module.exports = usersRegisterModel;
|
||||
Reference in New Issue
Block a user