addedInput schema / properties / filters
Added value: +{
+ "description": "The dashboard's full filter builder, for anything the single arguments above cannot say. Every condition must hold (AND); the values inside one condition are alternatives (OR). Combines with the arguments above. Properties: \"subject\" (e.g. \"english\"), \"class\" (class_id), \"teacher\" (teacher_id from results_get's teachers: the teacher whose marking it is), \"assessmentPoint\" (assessment point id), \"yearGroup\" (e.g. \"11\"), \"pupil\" (a name or part of one). Operators: \"is\" and \"is_not\" take one value; \"is_one_of\" and \"is_none_of\" take a list. \"pupil\" instead takes \"is\", \"contains\" or \"does_not_contain\", with one value. Example, every Year 11 class except one, marked by one teacher: [{\"property\":\"yearGroup\",\"operator\":\"is\",\"values\":[\"11\"]},{\"property\":\"class\",\"operator\":\"is_not\",\"values\":[\"<class_id>\"]},{\"property\":\"teacher\",\"operator\":\"is\",\"values\":[\"<teacher_id>\"]}]. A value matching nothing the caller can see is ignored and listed in filters_dropped.",
+ "items": {
+ "properties": {
+ "operator": {
+ "enum": [
+ "is",
+ "is_not",
+ "is_one_of",
+ "is_none_of",
+ "contains",
+ "does_not_contain"
+ ],
+ "type": "string"
+ },
+ "property": {
+ "enum": [
+ "subject",
+ "class",
+ "teacher",
+ "assessmentPoint",
+ "yearGroup",
+ "pupil"
+ ],
+ "type": "string"
+ },
+ "values": {
+ "items": {
+ "maxLength": 200,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "property",
+ "operator",
+ "values"
+ ],
+ "type": "object"
+ },
+ "maxItems": 20,
+ "type": "array"
+}
addedOutput schema / properties / filter_advice
Added value: +{
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "When the filters leave too few pupils to average: which one to remove, and what removing it gives back."
+}
addedOutput schema / properties / filters_applied / items / properties / operator
Added value: +{
+ "enum": [
+ "is",
+ "is_not",
+ "is_one_of",
+ "is_none_of",
+ "contains",
+ "does_not_contain"
+ ],
+ "type": "string"
+}
changedOutput schema / properties / filters_applied / items / required
Previous value: -[
- "property",
- "values"
-]New value: +[
+ "property",
+ "operator",
+ "values"
+]
addedOutput schema / properties / teachers
Added value: +{
+ "description": "The teachers whose marking is in view, with the ids the teacher filter takes. Pupils counts ignore any teacher filter, so every teacher stays choosable.",
+ "items": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "pupils": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "teacher_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "teacher_id",
+ "name",
+ "pupils"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
changedOutput schema / required
Previous value: -[
- "detail",
- "scope",
- "heading",
- "scope_note",
- "year",
- "years",
- "assessment_points",
- "cohorts",
- "filters_applied",
- "filters_dropped",
- "unfiled_scripts",
- "dashboard_url"
-]New value: +[
+ "detail",
+ "scope",
+ "heading",
+ "scope_note",
+ "year",
+ "years",
+ "assessment_points",
+ "cohorts",
+ "teachers",
+ "filters_applied",
+ "filters_dropped",
+ "filter_advice",
+ "unfiled_scripts",
+ "dashboard_url"
+]