Skip to content

Commit 9099ead

Browse files
authored
Merge pull request #455 from cagdas001/dev
fix(role-service): update validations to accept positive integers
2 parents 9b13d56 + 4595964 commit 9099ead

File tree

2 files changed

+33
-33
lines changed

2 files changed

+33
-33
lines changed

src/bootstrap.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Joi.workPeriodPaymentUpdateStatus = () => Joi.string().valid(..._.values(WorkPer
2626
// See https://joi.dev/api/?v=17.3.0#string fro details why it's like this.
2727
// In many cases we would like to allow empty string to make it easier to create UI for editing data.
2828
Joi.stringAllowEmpty = () => Joi.string().allow('')
29-
Joi.smallint = () => Joi.number().min(-32768).max(32767)
29+
Joi.smallint = () => Joi.number().integer().min(-32768).max(32767)
3030

3131
function buildServices (dir) {
3232
const files = fs.readdirSync(dir)

src/services/RoleService.js

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -131,24 +131,24 @@ createRole.schema = Joi.object().keys({
131131
description: Joi.string().max(1000),
132132
listOfSkills: Joi.array().items(Joi.string().max(50).required()),
133133
rates: Joi.array().items(Joi.object().keys({
134-
global: Joi.smallint(),
135-
inCountry: Joi.smallint(),
136-
offShore: Joi.smallint(),
137-
niche: Joi.smallint(),
138-
rate30Niche: Joi.smallint(),
139-
rate30Global: Joi.smallint(),
140-
rate30InCountry: Joi.smallint(),
141-
rate30OffShore: Joi.smallint(),
142-
rate20Niche: Joi.smallint(),
143-
rate20Global: Joi.smallint(),
144-
rate20InCountry: Joi.smallint(),
145-
rate20OffShore: Joi.smallint()
134+
global: Joi.smallint().min(1),
135+
inCountry: Joi.smallint().min(1),
136+
offShore: Joi.smallint().min(1),
137+
niche: Joi.smallint().min(1),
138+
rate30Niche: Joi.smallint().min(1),
139+
rate30Global: Joi.smallint().min(1),
140+
rate30InCountry: Joi.smallint().min(1),
141+
rate30OffShore: Joi.smallint().min(1),
142+
rate20Niche: Joi.smallint().min(1),
143+
rate20Global: Joi.smallint().min(1),
144+
rate20InCountry: Joi.smallint().min(1),
145+
rate20OffShore: Joi.smallint().min(1)
146146
}).required()).required(),
147-
numberOfMembers: Joi.number(),
148-
numberOfMembersAvailable: Joi.smallint(),
147+
numberOfMembers: Joi.number().integer().min(1),
148+
numberOfMembersAvailable: Joi.smallint().min(1),
149149
imageUrl: Joi.string().uri().max(255),
150-
timeToCandidate: Joi.smallint(),
151-
timeToInterview: Joi.smallint()
150+
timeToCandidate: Joi.smallint().min(1),
151+
timeToInterview: Joi.smallint().min(1)
152152
}).required()
153153
}).required()
154154

@@ -189,24 +189,24 @@ updateRole.schema = Joi.object().keys({
189189
description: Joi.string().max(1000).allow(null),
190190
listOfSkills: Joi.array().items(Joi.string().max(50).required()).allow(null),
191191
rates: Joi.array().items(Joi.object().keys({
192-
global: Joi.smallint().required(),
193-
inCountry: Joi.smallint().required(),
194-
offShore: Joi.smallint().required(),
195-
niche: Joi.smallint(),
196-
rate30Niche: Joi.smallint(),
197-
rate30Global: Joi.smallint(),
198-
rate30InCountry: Joi.smallint(),
199-
rate30OffShore: Joi.smallint(),
200-
rate20Global: Joi.smallint(),
201-
rate20Niche: Joi.smallint(),
202-
rate20InCountry: Joi.smallint(),
203-
rate20OffShore: Joi.smallint()
192+
global: Joi.smallint().min(1).required(),
193+
inCountry: Joi.smallint().min(1).required(),
194+
offShore: Joi.smallint().min(1).required(),
195+
niche: Joi.smallint().min(1),
196+
rate30Niche: Joi.smallint().min(1),
197+
rate30Global: Joi.smallint().min(1),
198+
rate30InCountry: Joi.smallint().min(1),
199+
rate30OffShore: Joi.smallint().min(1),
200+
rate20Global: Joi.smallint().min(1),
201+
rate20Niche: Joi.smallint().min(1),
202+
rate20InCountry: Joi.smallint().min(1),
203+
rate20OffShore: Joi.smallint().min(1)
204204
}).required()),
205-
numberOfMembers: Joi.number().allow(null),
206-
numberOfMembersAvailable: Joi.smallint().allow(null),
205+
numberOfMembers: Joi.number().integer().min(1).allow(null),
206+
numberOfMembersAvailable: Joi.smallint().min(1).allow(null),
207207
imageUrl: Joi.string().uri().max(255).allow(null),
208-
timeToCandidate: Joi.smallint().allow(null),
209-
timeToInterview: Joi.smallint().allow(null)
208+
timeToCandidate: Joi.smallint().min(1).allow(null),
209+
timeToInterview: Joi.smallint().min(1).allow(null)
210210
}).required()
211211
}).required()
212212

0 commit comments

Comments
 (0)