packages/plugin-router/schemas/router.json
{
"$id": "router",
"type": "object",
"additionalProperties": false,
"required": [
"auth",
"routes"
],
"properties": {
"auth": {
"type": "object",
"additionalProperties": false,
"default": {},
"properties": {
"strategies": {
"type": "object",
"default": {}
}
}
},
"extensions": {
"type": "object",
"additionalProperties": false,
"default": {},
"properties": {
"register": {
"type": "array",
"default": [],
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"point",
"handler"
],
"properties": {
"point": {
"type": "string"
}
}
}
}
}
}
},
"routes": {
"type": "object",
"additionalProperties": false,
"required": [
"directory",
"prefix"
],
"properties": {
"directory": {
"type": "string"
},
"prefix": {
"default": "",
"type": "string"
},
"enabledGenericActions": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"allRoutes": {
"type": "object",
"additionalProperties": true
},
"enabled": {
"type": "object",
"additionalProperties": {
"anyOf": [{
"type": "string"
}, {
"type": "object",
"required": ["name", "config"],
"properties": {
"name": {
"type": "string"
},
"config": {
"type": "object",
"additionalProperties": true
}
}
}]
}
},
"disabled": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"responseValidation": {
"description": "Response validation",
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"description": "Enable validation",
"type": "boolean",
"default": false
},
"maxSample": {
"description": "Random boundary for actions to be validated",
"type": "number",
"maximum": 100,
"minimum": 1,
"default": 7
},
"panic": {
"description": "Throw error if validation failed",
"type": "boolean",
"default": false
}
}
}
}
}
}
}