Skip to content

Commit f221443

Browse files
authored
Merge pull request #82 from topcoder-platform/change-validatations-in-job-j
fix: Job and JC allow empty validation
2 parents 22a63bc + 1431927 commit f221443

File tree

2 files changed

+44
-39
lines changed

2 files changed

+44
-39
lines changed

src/services/JobCandidateProcessorService.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ processCreate.schema = {
104104
updatedBy: Joi.string().uuid().allow(null),
105105
status: Joi.jobCandidateStatus().required(),
106106
externalId: Joi.string().allow(null),
107-
resume: Joi.string().uri().allow(null).allow(''),
108-
remark: Joi.string().allow(null).allow('')
107+
resume: Joi.string().uri().allow(null).allow(""),
108+
remark: Joi.stringAllowEmpty().allow(null),
109109
})
110110
.required()
111111
})

src/services/JobProcessorService.js

Lines changed: 42 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -60,43 +60,48 @@ async function processCreate (message, transactionId) {
6060
}
6161

6262
processCreate.schema = {
63-
message: Joi.object().keys({
64-
topic: Joi.string().required(),
65-
originator: Joi.string().required(),
66-
timestamp: Joi.date().required(),
67-
'mime-type': Joi.string().required(),
68-
key: Joi.string().allow(null),
69-
payload: Joi.object().keys({
70-
id: Joi.string().uuid().required(),
71-
projectId: Joi.number().integer().required(),
72-
externalId: Joi.string().allow(null),
73-
description: Joi.stringAllowEmpty().allow(null),
74-
title: Joi.title().required(),
75-
startDate: Joi.date().allow(null),
76-
duration: Joi.number().integer().min(1).allow(null),
77-
numPositions: Joi.number().integer().min(1).required(),
78-
resourceType: Joi.stringAllowEmpty().allow(null),
79-
rateType: Joi.rateType().allow(null),
80-
workload: Joi.workload().allow(null),
81-
skills: Joi.array().items(Joi.string().uuid()).required(),
82-
roles: Joi.array().items(Joi.string().uuid()).allow(null),
83-
createdAt: Joi.date().required(),
84-
createdBy: Joi.string().uuid().required(),
85-
updatedAt: Joi.date().allow(null),
86-
updatedBy: Joi.string().uuid().allow(null),
87-
status: Joi.jobStatus().required(),
88-
isApplicationPageActive: Joi.boolean().required(),
89-
minSalary: Joi.number().integer().allow(null),
90-
maxSalary: Joi.number().integer().allow(null),
91-
hoursPerWeek: Joi.number().integer().allow(null),
92-
jobLocation: Joi.string().allow(null).allow(''),
93-
jobTimezone: Joi.string().allow(null).allow(''),
94-
currency: Joi.string().allow(null).allow(''),
95-
roleIds: Joi.array().items(Joi.string().uuid().required()).allow(null)
96-
}).required()
97-
}).required(),
98-
transactionId: Joi.string().required()
99-
}
63+
message: Joi.object()
64+
.keys({
65+
topic: Joi.string().required(),
66+
originator: Joi.string().required(),
67+
timestamp: Joi.date().required(),
68+
"mime-type": Joi.string().required(),
69+
payload: Joi.object()
70+
.keys({
71+
id: Joi.string().uuid().required(),
72+
projectId: Joi.number().integer().required(),
73+
externalId: Joi.string().allow(null),
74+
description: Joi.stringAllowEmpty().allow(null),
75+
title: Joi.title().required(),
76+
startDate: Joi.date().allow(null),
77+
duration: Joi.number().integer().min(1).allow(null),
78+
numPositions: Joi.number().integer().min(1).required(),
79+
resourceType: Joi.stringAllowEmpty().allow(null),
80+
rateType: Joi.rateType().allow(null),
81+
workload: Joi.workload().allow(null),
82+
skills: Joi.array().items(Joi.string().uuid()).required(),
83+
roles: Joi.array().items(Joi.string().uuid()).allow(null),
84+
createdAt: Joi.date().required(),
85+
createdBy: Joi.string().uuid().required(),
86+
updatedAt: Joi.date().allow(null),
87+
updatedBy: Joi.string().uuid().allow(null),
88+
status: Joi.jobStatus().required(),
89+
isApplicationPageActive: Joi.boolean().required(),
90+
minSalary: Joi.number().integer().allow(null),
91+
maxSalary: Joi.number().integer().allow(null),
92+
hoursPerWeek: Joi.number().integer().allow(null),
93+
jobLocation: Joi.stringAllowEmpty().allow(null),
94+
jobTimezone: Joi.stringAllowEmpty().allow(null),
95+
currency: Joi.stringAllowEmpty().allow(null),
96+
roleIds: Joi.array()
97+
.items(Joi.string().uuid().required())
98+
.allow(null),
99+
})
100+
.required(),
101+
})
102+
.required(),
103+
transactionId: Joi.string().required(),
104+
};
100105

101106
/**
102107
* Process update entity message

0 commit comments

Comments
 (0)