kolibri-constants
Version:
A package that exposes constants commonly used across the Kolibri Ecosystem
80 lines (77 loc) • 2.33 kB
JavaScript
// -*- coding: utf-8 -*-
// Generated by scripts/generate_from_specs.py
// LearningObjectives
export const SCHEMA = {
"$id": "/schemas/learning_objectives",
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"description": "Schema for Learning Objectives mapping",
"additionalProperties": false,
"definitions": {
"hex-uuid": {
"type": "string",
"pattern": "^[0-9a-f]{32}$",
"description": "A unique identifier in the form of the compact hex representations of a UUID v4 or v5"
},
"learning_objective_id": {
"$ref": "#/definitions/hex-uuid",
"description": "Unique identifier for the Learning Objective"
}
},
"properties": {
"learning_objectives": {
"type": "array",
"description": "A list of Learning Objectives available in the unit",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"id": {
"$ref": "#/definitions/learning_objective_id"
},
"text": {
"type": "string",
"minLength": 1,
"pattern": "^\\s*\\S[\\s\\S]*$",
"description": "Human-readable text describing the Learning Objective"
},
"metadata": {
"type": "object",
"description": "Optional metadata associated with the Learning Objective"
}
},
"required": ["id", "text"]
}
},
"assessment_objectives": {
"type": "object",
"description": "Mapping of assessment question IDs to Learning Objective IDs",
"minProperties": 1,
"additionalProperties": false,
"patternProperties": {
"^[0-9a-f]{32}$": {
"type": "array",
"items": {
"$ref": "#/definitions/learning_objective_id"
}
}
}
},
"lesson_objectives": {
"type": "object",
"description": "Mapping of lesson IDs to Learning Objective IDs",
"minProperties": 1,
"additionalProperties": false,
"patternProperties": {
"^[0-9a-f]{32}$": {
"type": "array",
"items": {
"$ref": "#/definitions/learning_objective_id"
}
}
}
}
},
"required": ["learning_objectives", "assessment_objectives", "lesson_objectives"]
}
;