{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://www.espocrm.com/schema/metadata/app/record.json", "title": "app/select", "description": "Record framework definitions.", "type": "object", "properties": { "selectApplierClassNameList": { "type": "array", "items": { "anyOf": [ {"const": "__APPEND__"}, {"type": "string"} ] }, "description": "Classes for additional handling of a select query. Should implement Espo\\Core\\Select\\Applier\\AdditionalApplier interface. An entity type is passed to the constructor in `$entityType` parameter. As of v9.0." }, "createInputFilterClassNameList": { "description": "Create input filters. Should implement Espo\\Core\\Record\\Input\\Filter. As of v8.2.", "type": "array", "items": { "type": "string" } }, "updateInputFilterClassNameList": { "description": "Update input filters. Should implement Espo\\Core\\Record\\Input\\Filter. As of v8.2.", "type": "array", "items": { "type": "string" } }, "outputFilterClassNameList": { "description": "Output filters. Should implement Espo\\Core\\Record\\Output\\Filter. As of v8.2.", "type": "array", "items": { "type": "string" } }, "beforeReadHookClassNameList": { "description": "Before-read hooks. Should implement the Espo\\Core\\Record\\Hook\\ReadHook interface.", "type": "array", "items": { "type": "string" } }, "earlyBeforeCreateHookClassNameList": { "description": "Early-before-create hooks. Run before validation. Should implement the Espo\\Core\\Record\\Hook\\CreateHook or Espo\\Core\\Record\\Hook\\SaveHook interface. As of v9.0.", "type": "array", "items": { "type": "string" } }, "beforeCreateHookClassNameList": { "description": "Before-create hooks. Should implement the Espo\\Core\\Record\\Hook\\CreateHook or Espo\\Core\\Record\\Hook\\SaveHook interface.", "type": "array", "items": { "type": "string" } }, "afterCreateHookClassNameList": { "description": "After-create hooks. Should implement the Espo\\Core\\Record\\Hook\\CreateHook or Espo\\Core\\Record\\Hook\\SaveHook interface. As of v8.2.", "type": "array", "items": { "type": "string" } }, "earlyBeforeUpdateHookClassNameList": { "description": "Early-before-update hooks. Run before validation. Should implement the Espo\\Core\\Record\\Hook\\UpdateHook or Espo\\Core\\Record\\Hook\\SaveHook interface. As of v9.0.", "type": "array", "items": { "type": "string" } }, "beforeUpdateHookClassNameList": { "description": "Before-update hooks. Should implement the Espo\\Core\\Record\\Hook\\UpdateHook or Espo\\Core\\Record\\Hook\\SaveHook interface.", "type": "array", "items": { "type": "string" } }, "afterUpdateHookClassNameList": { "description": "Before-update hooks. Should implement the Espo\\Core\\Record\\Hook\\UpdateHook or Espo\\Core\\Record\\Hook\\SaveHook interface. As of v8.2.", "type": "array", "items": { "type": "string" } }, "beforeDeleteHookClassNameList": { "description": "Before-delete hooks. Should implement the Espo\\Core\\Record\\Hook\\DeleteHook interface.", "type": "array", "items": { "type": "string" } }, "afterDeleteHookClassNameList": { "description": "Before-delete hooks. Should implement the Espo\\Core\\Record\\Hook\\DeleteHook interface. As of v8.2.", "type": "array", "items": { "type": "string" } }, "beforeLinkHookClassNameList": { "description": "Before-link hooks. Should implement the Espo\\Core\\Record\\Hook\\LinkHook interface.", "type": "array", "items": { "type": "string" } }, "beforeUnlinkHookClassNameList": { "description": "Before-unlink hooks. Should implement the Espo\\Core\\Record\\Hook\\UnlinkHook interface.", "type": "array", "items": { "type": "string" } }, "afterLinkHookClassNameList": { "description": "After-link hooks. Should implement the Espo\\Core\\Record\\Hook\\LinkHook interface. As of v8.2.", "type": "array", "items": { "type": "string" } }, "afterUnlinkHookClassNameList": { "description": "After-unlink hooks. Should implement the Espo\\Core\\Record\\Hook\\UnlinkHook interface. As of v8.2.", "type": "array", "items": { "type": "string" } } } }