From 628db9c75efc3eb9e45e21e19406c1445528cc16 Mon Sep 17 00:00:00 2001 From: Sushil Shinde Date: Fri, 18 Jun 2021 12:28:39 +0530 Subject: [PATCH] fix: Job and JC allow empty validation --- src/services/JobCandidateProcessorService.js | 4 +- src/services/JobProcessorService.js | 78 +++++++++++--------- 2 files changed, 44 insertions(+), 38 deletions(-) diff --git a/src/services/JobCandidateProcessorService.js b/src/services/JobCandidateProcessorService.js index f17b802..fe0b7ef 100644 --- a/src/services/JobCandidateProcessorService.js +++ b/src/services/JobCandidateProcessorService.js @@ -103,8 +103,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 19244cc..7bedd64 100644 --- a/src/services/JobProcessorService.js +++ b/src/services/JobProcessorService.js @@ -60,42 +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(), - 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