From d667bb9e8b91e711f631bb73b98d1a59bf4e2ed3 Mon Sep 17 00:00:00 2001 From: imcaizheng Date: Thu, 3 Dec 2020 03:52:09 +0800 Subject: [PATCH 1/2] add workload field to joi schemas in JobService --- src/bootstrap.js | 1 + src/services/JobProcessorService.js | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/bootstrap.js b/src/bootstrap.js index 430ee1b..dc0f52a 100644 --- a/src/bootstrap.js +++ b/src/bootstrap.js @@ -5,3 +5,4 @@ global.Promise = require('bluebird') 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', 'selected', 'shortlist', 'rejected') +Joi.workload = () => Joi.string().valid('full-time', 'fractional') diff --git a/src/services/JobProcessorService.js b/src/services/JobProcessorService.js index 50186d0..6338a20 100644 --- a/src/services/JobProcessorService.js +++ b/src/services/JobProcessorService.js @@ -43,6 +43,7 @@ processCreate.schema = { numPositions: Joi.number().integer().min(1).required(), resourceType: Joi.string().required(), rateType: Joi.rateType(), + workload: Joi.workload(), skills: Joi.array().items(Joi.string().uuid()).required(), createdAt: Joi.date().required(), createdBy: Joi.string().uuid().required(), @@ -86,6 +87,7 @@ processUpdate.schema = { numPositions: Joi.number().integer().min(1), resourceType: Joi.string(), rateType: Joi.rateType(), + workload: Joi.workload(), skills: Joi.array().items(Joi.string().uuid()), status: Joi.jobStatus(), updatedAt: Joi.date(), From 9cebcf8420b4941a7a51a2f95059ae441bef6bda Mon Sep 17 00:00:00 2001 From: imcaizheng Date: Thu, 3 Dec 2020 04:24:52 +0800 Subject: [PATCH 2/2] update the create-index script --- src/scripts/createIndex.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scripts/createIndex.js b/src/scripts/createIndex.js index a4ccbb3..ce3ede3 100644 --- a/src/scripts/createIndex.js +++ b/src/scripts/createIndex.js @@ -23,6 +23,7 @@ async function createIndex () { numPositions: { type: 'integer' }, resourceType: { type: 'keyword' }, rateType: { type: 'keyword' }, + workload: { type: 'keyword' }, skills: { type: 'keyword' }, status: { type: 'keyword' }, createdAt: { type: 'date' },