{
  "$id": "lesson.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": true,
  "$ref": "contentitem.schema.json",
  "required": [ "type", "title", "metadata", "items", "attribute" ],
  "title": "Lesson",
  "type": "object",
  "description": "Lesson Hierarchy Component in CTK",
  "properties": {
    "type": {
      "type": "string",
      "enum": [ "lesson", "mathlesson" ],
      "description": "Should be always set to lesson / mathlesson"
    },
    "title": {
      "type": "string",
      "minLength": 1
    },
    "items": {
      "type": "array",
      "minItems": 1,
      "description": "Ordered list of lesson items (Activity or Pool references)",
      "items": {
        "$ref": "lesson-item.schema.json"
      }
    },
    "metadata": {
      "type": "array",
      "items": { "$ref": "lesson-metadata.schema.json" }
    },
    "attribute": {
      "type": "array",
      "items": { "$ref": "lesson-attribute.schema.json" }
    },
    "objectivesRef": {
      "type": "array",
      "description": "References to Objective JSON files ingested in this package",
      "items": { "$ref": "objective-ref.schema.json" }
    },
    "vocabularies": {
      "type": "array",
      "description": "Inline Vocabulary components authored directly on the lesson",
      "items": { "$ref": "vocabulary.schema.json" }
    }
  }

}
