From f0d6b43d72e536ff502c01a74029c3c949e024df Mon Sep 17 00:00:00 2001 From: LieutenantRoger Date: Tue, 21 Sep 2021 10:00:16 +0800 Subject: [PATCH 1/3] processor update --- src/bootstrap.js | 1 + src/services/JobCandidateProcessorService.js | 48 ++++++++++---------- src/services/JobProcessorService.js | 6 ++- 3 files changed, 30 insertions(+), 25 deletions(-) diff --git a/src/bootstrap.js b/src/bootstrap.js index fd4b8ea..057dcd9 100644 --- a/src/bootstrap.js +++ b/src/bootstrap.js @@ -8,6 +8,7 @@ Joi.rateType = () => Joi.string().valid('hourly', 'daily', 'weekly', 'monthly', Joi.jobStatus = () => Joi.string().valid('sourcing', 'in-review', 'assigned', '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', 'withdrawn', 'withdrawn-prescreen') Joi.workload = () => Joi.string().valid('full-time', 'fractional') +Joi.jobTag = () => Joi.string().valid('new', 'dollor', 'hot').allow('') Joi.title = () => Joi.string().max(128) // Empty string is not allowed by Joi by default and must be enabled with allow(''). // See https://joi.dev/api/?v=17.3.0#string fro details why it's like this. diff --git a/src/services/JobCandidateProcessorService.js b/src/services/JobCandidateProcessorService.js index 765ca44..5a9d287 100644 --- a/src/services/JobCandidateProcessorService.js +++ b/src/services/JobCandidateProcessorService.js @@ -77,30 +77,30 @@ async function processUpdate (message, transactionId) { processUpdate.schema = Joi.object() .keys({ 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(), - jobId: Joi.string().uuid().required(), - userId: Joi.string().uuid().required(), - createdAt: Joi.date().required(), - createdBy: Joi.string().uuid().required(), - updatedAt: Joi.date().allow(null), - viewedByCustomer: Joi.boolean().required(), - updatedBy: Joi.string().uuid().allow(null), - status: Joi.jobCandidateStatus().required(), - externalId: Joi.string().allow(null), - resume: Joi.string().uri().allow(null).allow(''), - remark: Joi.stringAllowEmpty().allow(null) - }) - .required() - }) - .required(), + .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(), + jobId: Joi.string().uuid().required(), + userId: Joi.string().uuid().required(), + createdAt: Joi.date().required(), + createdBy: Joi.string().uuid().required(), + updatedAt: Joi.date().allow(null), + viewedByCustomer: Joi.boolean().required(), + updatedBy: Joi.string().uuid().allow(null), + status: Joi.jobCandidateStatus().required(), + externalId: Joi.string().allow(null), + resume: Joi.string().uri().allow(null).allow(''), + remark: Joi.stringAllowEmpty().allow(null) + }) + .required() + }) + .required(), transactionId: Joi.string().required() }) diff --git a/src/services/JobProcessorService.js b/src/services/JobProcessorService.js index a581f91..15e2bcc 100644 --- a/src/services/JobProcessorService.js +++ b/src/services/JobProcessorService.js @@ -87,7 +87,11 @@ processCreate.schema = Joi.object() currency: Joi.stringAllowEmpty().allow(null), roleIds: Joi.array() .items(Joi.string().uuid().required()) - .allow(null) + .allow(null), + showInHotList: Joi.boolean(), + featured: Joi.boolean(), + hotListExcerpt: Joi.stringAllowEmpty(), + jobTag: Joi.jobTag() }) .required() }) From ee5ff4d3893408d20d122cc0e30ff1ea0692b4cd Mon Sep 17 00:00:00 2001 From: LieutenantRoger Date: Wed, 22 Sep 2021 20:43:59 +0800 Subject: [PATCH 2/3] ci:deploying es --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 00ab761..ef3f880 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -72,7 +72,7 @@ workflows: only: - dev - dev-circleci - - feature/shapeup4-cqrs-update2 + - gigs-job-model # Production builds are exectuted only on tagged commits to the # master branch. From 16e916c7d2e8c8eedef524092dbbf44fe3f3ca5f Mon Sep 17 00:00:00 2001 From: LieutenantRoger Date: Thu, 23 Sep 2021 20:45:38 +0800 Subject: [PATCH 3/3] add default value --- src/services/JobProcessorService.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/services/JobProcessorService.js b/src/services/JobProcessorService.js index 15e2bcc..351c123 100644 --- a/src/services/JobProcessorService.js +++ b/src/services/JobProcessorService.js @@ -88,10 +88,10 @@ processCreate.schema = Joi.object() roleIds: Joi.array() .items(Joi.string().uuid().required()) .allow(null), - showInHotList: Joi.boolean(), - featured: Joi.boolean(), - hotListExcerpt: Joi.stringAllowEmpty(), - jobTag: Joi.jobTag() + showInHotList: Joi.boolean().default(false), + featured: Joi.boolean().default(false), + hotListExcerpt: Joi.stringAllowEmpty().default(''), + jobTag: Joi.jobTag().default('') }) .required() })