feat: add block description to mobile curriculum (#45370)

* feat: add block description to mobile curriculum

* feat: add superblock names
This commit is contained in:
Sem Bauke
2022-03-22 20:11:44 +01:00
committed by GitHub
parent caaa416be0
commit 567e99231f
4 changed files with 125 additions and 11 deletions

View File

@@ -0,0 +1,32 @@
const Joi = require('joi');
const blockSchema = Joi.object({}).keys({
desc: Joi.array().min(1),
challenges: Joi.object({}).keys({
name: Joi.string(),
isUpcomingChange: Joi.bool(),
usesMultifileEditor: Joi.bool().optional(),
hasEditableBoundaries: Joi.bool().optional(),
isBeta: Joi.bool().optional(),
dashedName: Joi.string(),
order: Joi.number(),
time: Joi.string().allow(''),
template: Joi.string().allow(''),
required: Joi.array(),
superBlock: Joi.string(),
challengeOrder: Joi.array().items(Joi.array().min(1))
})
});
const subSchema = Joi.object({}).keys({
blocks: Joi.object({}).pattern(Joi.string(), Joi.object().concat(blockSchema))
});
const schema = Joi.object({}).pattern(
Joi.string(),
Joi.object().concat(subSchema)
);
exports.mobileSchemaValidator = () => {
return superblock => schema.validate(superblock);
};