schema/header.json
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Describes the header of the import",
"type": "object",
"required": ["expectedHeader", "fieldNames", "caseSensitive", "strict", "additionalColumns", "severity"],
"additionalProperties": false,
"properties": {
"expectedHeader": {
"type": "array",
"minItems": 1,
"items": {
"oneOf": [{
"type": "string"
}, {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}]
},
"uniqueItems": true
},
"fieldNames": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
},
"uniqueItems": true
},
"caseSensitive": {
"type": "boolean"
},
"strict": {
"$ref": "#/definitions/boolean"
},
"additionalColumns": {
"$ref": "#/definitions/boolean"
},
"missingColumns": {
"$ref": "#/definitions/boolean"
},
"mandatoryColumns": {
"oneOf": [{
"type": "array",
"minItems": 1,
"items": {
"oneOf": [{
"type": "string"
}, {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}]
},
"uniqueItems": true
}, {
"type": "object",
"properties": {
"val": {
"type": "array",
"minItems": 1,
"items": {
"oneOf": [{
"type": "string"
}, {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}]
},
"uniqueItems": true
},
"severity": {
"$ref": "#/definitions/severity"
}
}
}]
},
"severity": {
"$ref": "#/definitions/severity"
}
},
"definitions": {
"severity": {
"type": "string",
"enum": ["abort_file", "abort_scope", "skip_record", "skip_field"]
},
"boolean": {
"onOf": [{
"type": "boolean"
}, {
"type": "object",
"properties": {
"val": {
"type": "boolean"
},
"severity": {
"$ref": "#/definitions/severity"
}
}
}]
}
}
}