diff --git a/src/services/JobCandidateProcessorService.js b/src/services/JobCandidateProcessorService.js index 5e6a044..8da4cd7 100644 --- a/src/services/JobCandidateProcessorService.js +++ b/src/services/JobCandidateProcessorService.js @@ -104,8 +104,8 @@ processCreate.schema = { 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('') + resume: Joi.string().uri().allow(null).allow(""), + remark: Joi.stringAllowEmpty().allow(null), }) .required() }) diff --git a/src/services/JobProcessorService.js b/src/services/JobProcessorService.js index 491a1b3..dd40822 100644 --- a/src/services/JobProcessorService.js +++ b/src/services/JobProcessorService.js @@ -60,43 +60,48 @@ 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(), - key: Joi.string().allow(null), - payload: Joi.object().keys({ - id: Joi.string().uuid().required(), - projectId: Joi.number().integer().required(), - externalId: Joi.string().allow(null), - description: Joi.stringAllowEmpty().allow(null), - title: Joi.title().required(), - startDate: Joi.date().allow(null), - duration: Joi.number().integer().min(1).allow(null), - numPositions: Joi.number().integer().min(1).required(), - resourceType: Joi.stringAllowEmpty().allow(null), - rateType: Joi.rateType().allow(null), - workload: Joi.workload().allow(null), - skills: Joi.array().items(Joi.string().uuid()).required(), - roles: Joi.array().items(Joi.string().uuid()).allow(null), - createdAt: Joi.date().required(), - createdBy: Joi.string().uuid().required(), - updatedAt: Joi.date().allow(null), - updatedBy: Joi.string().uuid().allow(null), - status: Joi.jobStatus().required(), - isApplicationPageActive: Joi.boolean().required(), - minSalary: Joi.number().integer().allow(null), - maxSalary: Joi.number().integer().allow(null), - hoursPerWeek: Joi.number().integer().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(), - 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(), + projectId: Joi.number().integer().required(), + externalId: Joi.string().allow(null), + description: Joi.stringAllowEmpty().allow(null), + title: Joi.title().required(), + startDate: Joi.date().allow(null), + duration: Joi.number().integer().min(1).allow(null), + numPositions: Joi.number().integer().min(1).required(), + resourceType: Joi.stringAllowEmpty().allow(null), + rateType: Joi.rateType().allow(null), + workload: Joi.workload().allow(null), + skills: Joi.array().items(Joi.string().uuid()).required(), + roles: Joi.array().items(Joi.string().uuid()).allow(null), + createdAt: Joi.date().required(), + createdBy: Joi.string().uuid().required(), + updatedAt: Joi.date().allow(null), + updatedBy: Joi.string().uuid().allow(null), + status: Joi.jobStatus().required(), + isApplicationPageActive: Joi.boolean().required(), + minSalary: Joi.number().integer().allow(null), + maxSalary: Joi.number().integer().allow(null), + hoursPerWeek: Joi.number().integer().allow(null), + jobLocation: Joi.stringAllowEmpty().allow(null), + jobTimezone: Joi.stringAllowEmpty().allow(null), + currency: Joi.stringAllowEmpty().allow(null), + roleIds: Joi.array() + .items(Joi.string().uuid().required()) + .allow(null), + }) + .required(), + }) + .required(), + transactionId: Joi.string().required(), +}; /** * Process update entity message