✨ feat(schema): enhance API configuration schemas with new properties and validations
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
- Updated collection.json to include upload defaults, audit logging, query limits, and more. - Enhanced collectionNavigation.json with viewHint configurations. - Added project-wide upload defaults and hook configurations in config.json. - Expanded field.json to support new field types, validations, and properties. - Improved fieldMeta.json with additional widget configurations and properties. - Updated hooks.json to include new bulk operation hooks and audit logging. - Enhanced imageFilter.json with additional image processing options. - Added timeout properties to job.json for better execution control. - Refined permissions.json to allow more granular control over HTTP method permissions and added filter and field visibility options.
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
"object",
|
||||
"object[]",
|
||||
"file",
|
||||
"file[]",
|
||||
"date",
|
||||
"any"
|
||||
]
|
||||
@@ -32,7 +33,13 @@
|
||||
"index": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"enum": ["single", "unique", "text"]
|
||||
"enum": [
|
||||
"single",
|
||||
"unique",
|
||||
"text",
|
||||
"sparse",
|
||||
"background"
|
||||
]
|
||||
}
|
||||
},
|
||||
"subFields": {
|
||||
@@ -74,12 +81,82 @@
|
||||
"eval": {
|
||||
"type": "string",
|
||||
"description": "javascript validator which failes if evaluates to false or string as error message, with following variables: $this, $parent, $stack, $auth, context"
|
||||
},
|
||||
"minLength": {
|
||||
"type": "number",
|
||||
"description": "minimum string length"
|
||||
},
|
||||
"maxLength": {
|
||||
"type": "number",
|
||||
"description": "maximum string length"
|
||||
},
|
||||
"pattern": {
|
||||
"type": "string",
|
||||
"description": "regex pattern the value must match"
|
||||
},
|
||||
"min": {
|
||||
"type": "number",
|
||||
"description": "minimum value for number fields"
|
||||
},
|
||||
"max": {
|
||||
"type": "number",
|
||||
"description": "maximum value for number fields"
|
||||
},
|
||||
"in": {
|
||||
"type": "array",
|
||||
"description": "array of allowed values"
|
||||
},
|
||||
"maxFileSize": {
|
||||
"type": "string",
|
||||
"description": "maximum decoded file size for file and file[] fields (e.g. '500KB')"
|
||||
},
|
||||
"accept": {
|
||||
"type": "array",
|
||||
"description": "allowed MIME types for file and file[] fields; supports wildcards like 'image/*'",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"readonly": {
|
||||
"description": "field-level readonly — boolean or JS eval expression",
|
||||
"oneOf": [
|
||||
{ "type": "boolean" },
|
||||
{
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"eval": { "type": "string", "description": "JS expression that returns boolean" }
|
||||
},
|
||||
"required": ["eval"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"hidden": {
|
||||
"description": "field-level hidden — boolean or JS eval expression",
|
||||
"oneOf": [
|
||||
{ "type": "boolean" },
|
||||
{
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"eval": { "type": "string", "description": "JS expression that returns boolean" }
|
||||
},
|
||||
"required": ["eval"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"strictFields": {
|
||||
"type": "boolean",
|
||||
"description": "reject unknown sub-fields not defined in subFields"
|
||||
},
|
||||
"meta": {
|
||||
"$ref": "fieldMeta.json"
|
||||
}
|
||||
},
|
||||
"required": ["name", "type"]
|
||||
}
|
||||
"required": [
|
||||
"name",
|
||||
"type"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user