diff --git a/src/scripts/createIndex.js b/src/scripts/createIndex.js index 88b10e3..3e16194 100644 --- a/src/scripts/createIndex.js +++ b/src/scripts/createIndex.js @@ -103,6 +103,7 @@ async function createIndex () { status: { type: 'keyword' }, startDate: { type: 'date', format: 'yyyy-MM-dd' }, endDate: { type: 'date', format: 'yyyy-MM-dd' }, + sendWeeklySurvey: { type: 'boolean' }, memberRate: { type: 'float' }, customerRate: { type: 'float' }, rateType: { type: 'keyword' }, @@ -116,6 +117,14 @@ async function createIndex () { normalizer: 'lowercaseNormalizer' }, projectId: { type: 'integer' }, userId: { type: 'keyword' }, + sentSurvey: { type: 'boolean' }, + sentSurveyError: { + type: 'nested', + properties: { + errorCode: { type: 'integer' }, + errorMessage: { type: 'keyword' } + } + }, startDate: { type: 'date', format: 'yyyy-MM-dd' }, endDate: { type: 'date', format: 'yyyy-MM-dd' }, daysWorked: { type: 'integer' }, diff --git a/src/services/ResourceBookingProcessorService.js b/src/services/ResourceBookingProcessorService.js index 836e3e1..f81c231 100644 --- a/src/services/ResourceBookingProcessorService.js +++ b/src/services/ResourceBookingProcessorService.js @@ -37,6 +37,7 @@ processCreate.schema = { id: Joi.string().uuid().required(), projectId: Joi.number().integer().required(), userId: Joi.string().uuid().required(), + sendWeeklySurvey: Joi.boolean().required(), jobId: Joi.string().uuid().allow(null), startDate: Joi.string().regex(/^(19|20)\d\d-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$/).allow(null), endDate: Joi.string().regex(/^(19|20)\d\d-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$/).allow(null), diff --git a/src/services/WorkPeriodProcessorService.js b/src/services/WorkPeriodProcessorService.js index af98553..89129a9 100644 --- a/src/services/WorkPeriodProcessorService.js +++ b/src/services/WorkPeriodProcessorService.js @@ -72,6 +72,11 @@ processCreate.schema = { projectId: Joi.number().integer().required(), startDate: Joi.string().required(), endDate: Joi.string().required(), + sentSurvey: Joi.boolean().required(), + sentSurveyError: Joi.object().keys({ + errorCode: Joi.number().integer().min(0), + errorMessage: Joi.string() + }).allow(null), daysWorked: Joi.number().integer().min(0).max(10).required(), daysPaid: Joi.number().integer().min(0).max(10).required(), paymentTotal: Joi.number().min(0).required(),