From bb18a2ed369a604d9b49f440fb6cf885f9014785 Mon Sep 17 00:00:00 2001 From: Stuart Taylor Date: Sun, 3 Jun 2018 20:33:44 +0100 Subject: [PATCH] Fix(schema): Enforce type Number for "challengeType" (#17409) * fix(schema): Enforce number types * fix(seed): String challengeType -> Number challengeType --- .../challenges/08-coding-interview-prep/rosetta-code.json | 4 ++-- seed/schema/challengeSchema.js | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/seed/challenges/08-coding-interview-prep/rosetta-code.json b/seed/challenges/08-coding-interview-prep/rosetta-code.json index 4b0773b922..f4e4df632e 100644 --- a/seed/challenges/08-coding-interview-prep/rosetta-code.json +++ b/seed/challenges/08-coding-interview-prep/rosetta-code.json @@ -3633,7 +3633,7 @@ } ], "id": "5a7dad05be01840e1778a0d1", - "challengeType": "3", + "challengeType": 3, "releasedOn": "May 31, 2018", "files": { "indexjs": { @@ -4404,7 +4404,7 @@ } ], "id": "5a23c84252665b21eecc7e76", - "challengeType": "3", + "challengeType": 3, "releasedOn": "June 1, 2018", "files": { "indexjs": { diff --git a/seed/schema/challengeSchema.js b/seed/schema/challengeSchema.js index 7c86166873..eda8eeaeba 100644 --- a/seed/schema/challengeSchema.js +++ b/seed/schema/challengeSchema.js @@ -4,7 +4,7 @@ Joi.objectId = require('joi-objectid')(Joi); const schema = Joi.object().keys({ block: Joi.string(), blockId: Joi.objectId(), - challengeType: Joi.number().min(0).max(9).required(), + challengeType: Joi.number().integer().min(0).max(9).required().options({ convert: false }), checksum: Joi.number(), dashedName: Joi.string(), description: Joi.array().items( @@ -40,7 +40,7 @@ const schema = Joi.object().keys({ isPrivate: Joi.bool(), isRequired: Joi.bool(), name: Joi.string(), - order: Joi.number(), + order: Joi.number().options({ convert: false }), required: Joi.array().items( Joi.object().keys({ link: Joi.string(), @@ -53,8 +53,8 @@ const schema = Joi.object().keys({ Joi.string().optional() ), superBlock: Joi.string(), - superOrder: Joi.number(), - suborder: Joi.number(), + superOrder: Joi.number().options({ convert: false }), + suborder: Joi.number().options({ convert: false }), tests: Joi.array().items( // public challenges Joi.object().keys({