diff --git a/.circleci/config.yml b/.circleci/config.yml index 0222864..3dc37e3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -72,6 +72,7 @@ workflows: only: - dev - dev-circleci + - change-validatations-in-job-j # Production builds are exectuted only on tagged commits to the # master branch. diff --git a/src/bootstrap.js b/src/bootstrap.js index ab512e6..0d773b9 100644 --- a/src/bootstrap.js +++ b/src/bootstrap.js @@ -9,7 +9,7 @@ const allowedInterviewStatuses = _.values(Interview.Status) global.Promise = require('bluebird') -Joi.rateType = () => Joi.string().valid('hourly', 'daily', 'weekly', 'monthly') +Joi.rateType = () => Joi.string().valid('hourly', 'daily', 'weekly', 'monthly','annual') Joi.jobStatus = () => Joi.string().valid('sourcing', 'in-review', 'assigned', 'closed', 'cancelled') Joi.resourceBookingStatus = () => Joi.string().valid('placed', 'closed', 'cancelled') Joi.jobCandidateStatus = () => Joi.string().valid('open', 'placed', 'selected', 'client rejected - screening', 'client rejected - interview', 'rejected - other', 'cancelled', 'interview', 'topcoder-rejected', 'applied', 'rejected-pre-screen', 'skills-test', 'skills-test', 'phone-screen', 'job-closed', 'offered') diff --git a/src/services/JobCandidateProcessorService.js b/src/services/JobCandidateProcessorService.js index bde7e88..f17b802 100644 --- a/src/services/JobCandidateProcessorService.js +++ b/src/services/JobCandidateProcessorService.js @@ -86,27 +86,31 @@ async function processCreate (message, transactionId) { } processCreate.schema = { - message: Joi.object().keys({ - topic: Joi.string().required(), - originator: Joi.string().required(), - timestamp: Joi.date().required(), - 'mime-type': Joi.string().required(), - payload: Joi.object().keys({ - id: Joi.string().uuid().required(), - jobId: Joi.string().uuid().required(), - userId: Joi.string().uuid().required(), - createdAt: Joi.date().required(), - createdBy: Joi.string().uuid().required(), - updatedAt: Joi.date().allow(null), - updatedBy: Joi.string().uuid().allow(null), - status: Joi.jobCandidateStatus().required(), - externalId: Joi.string().allow(null), - resume: Joi.string().uri().allow(null), - remark: Joi.string().allow(null) - }).required() - }).required(), - transactionId: Joi.string().required() -} + message: Joi.object() + .keys({ + topic: Joi.string().required(), + originator: Joi.string().required(), + timestamp: Joi.date().required(), + "mime-type": Joi.string().required(), + payload: Joi.object() + .keys({ + id: Joi.string().uuid().required(), + jobId: Joi.string().uuid().required(), + userId: Joi.string().uuid().required(), + createdAt: Joi.date().required(), + createdBy: Joi.string().uuid().required(), + updatedAt: Joi.date().allow(null), + updatedBy: Joi.string().uuid().allow(null), + status: Joi.jobCandidateStatus().required(), + externalId: Joi.string().allow(null), + resume: Joi.string().uri().allow(null).allow(''), + remark: Joi.string().allow(null).allow('') + }) + .required(), + }) + .required(), + transactionId: Joi.string().required(), +}; /** * Process update entity message diff --git a/src/services/JobProcessorService.js b/src/services/JobProcessorService.js index 08f5525..19244cc 100644 --- a/src/services/JobProcessorService.js +++ b/src/services/JobProcessorService.js @@ -88,9 +88,9 @@ processCreate.schema = { minSalary: Joi.number().integer().allow(null), maxSalary: Joi.number().integer().allow(null), hoursPerWeek: Joi.number().integer().allow(null), - jobLocation: Joi.string().allow(null), - jobTimezone: Joi.string().allow(null), - currency: Joi.string().allow(null), + jobLocation: Joi.string().allow(null).allow(''), + jobTimezone: Joi.string().allow(null).allow(''), + currency: Joi.string().allow(null).allow(''), roleIds: Joi.array().items(Joi.string().uuid().required()).allow(null) }).required() }).required(),