Files
espocrm/schema/metadata/selectDefs.json
Yuri Kuznetsov 0a69f46e14 schema
2025-11-12 15:07:42 +02:00

97 lines
4.4 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.espocrm.com/schema/metadata/selectDefs.json",
"title": "selectDefs",
"description": "Select framework definitions for a scope.",
"type": "object",
"properties": {
"accessControlFilterClassNameMap": {
"description": "Access control filters. Classes should implement Espo\\Core\\Select\\AccessControl\\Filter interface.",
"type": "object",
"properties": {
"mandatory": {"type": "string"},
"all": {"type": "string"},
"onlyTeam": {"type": "string"},
"onlyOwn": {"type": "string"},
"portalAll": {"type": "string"},
"portalOnlyAccount": {"type": "string"},
"portalOnlyContact": {"type": "string"},
"portalOnlyOwn": {"type": "string"}
},
"additionalProperties": {
"type": "string",
"description": "A filter."
}
},
"primaryFilterClassNameMap": {
"description": "Primary filters. Classes should implement Espo\\Core\\Select\\Primary\\Filter interface.",
"type": "object",
"additionalProperties": {
"type": "string",
"description": "A filter."
}
},
"boolFilterClassNameMap": {
"description": "Bool filters. Classes should implement Espo\\Core\\Select\\Bool\\Filter interface.",
"type": "object",
"additionalProperties": {
"type": "string",
"description": "A filter."
}
},
"selectAttributesDependencyMap": {
"description": "When a specific attribute is requested in the select parameter, attributes defined by the map will be selected.",
"additionalProperties": {
"type": "array",
"items": {
"type": "string",
"description": "An attribute."
}
}
},
"whereItemConverterClassNameMap": {
"description": "Implementations for custom where items. Classes should implement Espo\\Core\\Select\\Where\\ItemConverter interface. The key format: '{fieldName}_{conditionItemType}'.",
"type": "object",
"additionalProperties": {
"type": "string",
"description": "A key in `{fieldName}_{conditionItemType}` format."
}
},
"accessControlFilterResolverClassName": {
"description": "A resolver is responsible for choosing an access filter. Should implement Espo\\Core\\Select\\AccessControl\\FilterResolver interface.",
"type": "string"
},
"portalAccessControlFilterResolverClassName": {
"description": "A resolver is responsible for choosing an access filter for portals. Should implement Espo\\Core\\Select\\AccessControl\\FilterResolver interface.",
"type": "string"
},
"textFilterClassName": {
"description": "A class that processes the text filter search. Should implement Espo\\Core\\Select\\Text\\Filter interface.",
"type": "string"
},
"orderItemConverterClassNameMap": {
"description": "An order converter converts order parameters passed from the frontend to an order data acceptable for ORM. One can implement a custom converter for a specific field. Classes should implement Espo\\Core\\Select\\Order\\ItemConverter interface.",
"type": "object",
"additionalProperties": {
"type": "string",
"description": "A field."
}
},
"ordererClassNameMap": {
"description": "Provides the ability to apply custom order for a specific field. Classes should implement Espo\\Core\\Select\\Order\\Orderer interface.",
"type": "object",
"additionalProperties": {
"type": "string",
"description": "A field."
}
},
"additionalApplierClassNameList": {
"type": "array",
"items": {
"type": "string"
},
"description": "Additional appliers. Should implement Espo\\Core\\Select\\Applier\\AdditionalApplier interface. Since v9.1.0."
}
}
}