Skip to content

Commit 628db9c

Browse files
committed
fix: Job and JC allow empty validation
1 parent 51f2c76 commit 628db9c

File tree

2 files changed

+44
-38
lines changed

2 files changed

+44
-38
lines changed

src/services/JobCandidateProcessorService.js

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

src/services/JobProcessorService.js

Lines changed: 42 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -60,42 +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-
payload: Joi.object().keys({
69-
id: Joi.string().uuid().required(),
70-
projectId: Joi.number().integer().required(),
71-
externalId: Joi.string().allow(null),
72-
description: Joi.stringAllowEmpty().allow(null),
73-
title: Joi.title().required(),
74-
startDate: Joi.date().allow(null),
75-
duration: Joi.number().integer().min(1).allow(null),
76-
numPositions: Joi.number().integer().min(1).required(),
77-
resourceType: Joi.stringAllowEmpty().allow(null),
78-
rateType: Joi.rateType().allow(null),
79-
workload: Joi.workload().allow(null),
80-
skills: Joi.array().items(Joi.string().uuid()).required(),
81-
roles: Joi.array().items(Joi.string().uuid()).allow(null),
82-
createdAt: Joi.date().required(),
83-
createdBy: Joi.string().uuid().required(),
84-
updatedAt: Joi.date().allow(null),
85-
updatedBy: Joi.string().uuid().allow(null),
86-
status: Joi.jobStatus().required(),
87-
isApplicationPageActive: Joi.boolean().required(),
88-
minSalary: Joi.number().integer().allow(null),
89-
maxSalary: Joi.number().integer().allow(null),
90-
hoursPerWeek: Joi.number().integer().allow(null),
91-
jobLocation: Joi.string().allow(null).allow(''),
92-
jobTimezone: Joi.string().allow(null).allow(''),
93-
currency: Joi.string().allow(null).allow(''),
94-
roleIds: Joi.array().items(Joi.string().uuid().required()).allow(null)
95-
}).required()
96-
}).required(),
97-
transactionId: Joi.string().required()
98-
}
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+
};
99105

100106
/**
101107
* Process update entity message

0 commit comments

Comments
 (0)