Files
2026-01-19 17:46:06 +01:00

656 lines
22 KiB
JSON

{
"functionList": [
{
"name": "ifThenElse",
"insertText": "ifThenElse(CONDITION, CONSEQUENT, ALTERNATIVE)"
},
{
"name": "ifThen",
"insertText": "ifThen(CONDITION, CONSEQUENT)"
},
{
"name": "list",
"insertText": "list()",
"returnType": "array"
},
{
"name": "string\\concatenate",
"insertText": "string\\concatenate(STRING_1, STRING_2)",
"returnType": "string"
},
{
"name": "string\\substring",
"insertText": "string\\substring(STRING, START, LENGTH)",
"returnType": "string"
},
{
"name": "string\\contains",
"insertText": "string\\contains(STRING, NEEDLE)",
"returnType": "bool"
},
{
"name": "string\\pos",
"insertText": "string\\pos(STRING, NEEDLE)",
"returnType": "int"
},
{
"name": "string\\pad",
"insertText": "string\\pad(STRING, LENGTH, PAD_STRING)",
"returnType": "string"
},
{
"name": "string\\test",
"insertText": "string\\test(STRING, REGULAR_EXPRESSION)",
"returnType": "bool"
},
{
"name": "string\\length",
"insertText": "string\\length(STRING)",
"returnType": "int"
},
{
"name": "string\\trim",
"insertText": "string\\trim(STRING)",
"returnType": "string"
},
{
"name": "string\\lowerCase",
"insertText": "string\\lowerCase(STRING)",
"returnType": "string"
},
{
"name": "string\\upperCase",
"insertText": "string\\upperCase(STRING)",
"returnType": "string"
},
{
"name": "string\\match",
"insertText": "string\\match(STRING, REGULAR_EXPRESSION)",
"returnType": "string|null"
},
{
"name": "string\\matchAll",
"insertText": "string\\matchAll(STRING, REGULAR_EXPRESSION)",
"returnType": "string[]|null"
},
{
"name": "string\\matchExtract",
"insertText": "string\\matchExtract(STRING, REGULAR_EXPRESSION)",
"returnType": "string[]|null"
},
{
"name": "string\\replace",
"insertText": "string\\replace(STRING, SEARCH, REPLACE)",
"returnType": "string"
},
{
"name": "string\\split",
"insertText": "string\\split(STRING, SEPARATOR)",
"returnType": "string[]"
},
{
"name": "datetime\\today",
"insertText": "datetime\\today()",
"returnType": "string"
},
{
"name": "datetime\\now",
"insertText": "datetime\\now()",
"returnType": "string"
},
{
"name": "datetime\\format",
"insertText": "datetime\\format(VALUE)",
"returnType": "string"
},
{
"name": "datetime\\date",
"insertText": "datetime\\date(VALUE)",
"returnType": "int"
},
{
"name": "datetime\\month",
"insertText": "datetime\\month(VALUE)",
"returnType": "int"
},
{
"name": "datetime\\year",
"insertText": "datetime\\year(VALUE)",
"returnType": "int"
},
{
"name": "datetime\\hour",
"insertText": "datetime\\hour(VALUE)",
"returnType": "int"
},
{
"name": "datetime\\minute",
"insertText": "datetime\\minute(VALUE)",
"returnType": "int"
},
{
"name": "datetime\\dayOfWeek",
"insertText": "datetime\\dayOfWeek(VALUE)",
"returnType": "int"
},
{
"name": "datetime\\addMinutes",
"insertText": "datetime\\addMinutes(VALUE, MINUTES)",
"returnType": "string"
},
{
"name": "datetime\\addHours",
"insertText": "datetime\\addHours(VALUE, HOURS)",
"returnType": "string"
},
{
"name": "datetime\\addDays",
"insertText": "datetime\\addDays(VALUE, DAYS)",
"returnType": "string"
},
{
"name": "datetime\\addWeeks",
"insertText": "datetime\\addWeeks(VALUE, WEEKS)",
"returnType": "string"
},
{
"name": "datetime\\addMonths",
"insertText": "datetime\\addMonths(VALUE, MONTHS)",
"returnType": "string"
},
{
"name": "datetime\\addYears",
"insertText": "datetime\\addYears(VALUE, YEARS)",
"returnType": "string"
},
{
"name": "datetime\\diff",
"insertText": "datetime\\diff(VALUE_1, VALUE_2, INTERVAL_TYPE)",
"returnType": "int"
},
{
"name": "datetime\\closest",
"insertText": "datetime\\closest(VALUE, TYPE, TARGET, IS_PAST, TIMEZONE)",
"returnType": "string"
},
{
"name": "number\\format",
"insertText": "number\\format(VALUE)",
"returnType": "string"
},
{
"name": "number\\abs",
"insertText": "number\\abs(VALUE)"
},
{
"name": "number\\power",
"insertText": "number\\power(VALUE, EXP)",
"returnType": "int|float"
},
{
"name": "number\\round",
"insertText": "number\\round(VALUE, PRECISION)",
"returnType": "int|float"
},
{
"name": "number\\floor",
"insertText": "number\\floor(VALUE)",
"returnType": "int"
},
{
"name": "number\\ceil",
"insertText": "number\\ceil(VALUE)",
"returnType": "int"
},
{
"name": "number\\randomInt",
"insertText": "number\\randomInt(MIN, MAX)",
"returnType": "int"
},
{
"name": "number\\parseInt",
"insertText": "number\\parseInt(STRING)",
"returnType": "int"
},
{
"name": "number\\parseFloat",
"insertText": "number\\parseFloat(STRING)",
"returnType": "float"
},
{
"name": "entity\\isNew",
"insertText": "entity\\isNew()",
"returnType": "bool"
},
{
"name": "entity\\isAttributeChanged",
"insertText": "entity\\isAttributeChanged('ATTRIBUTE')",
"returnType": "bool"
},
{
"name": "entity\\isAttributeNotChanged",
"insertText": "entity\\isAttributeNotChanged('ATTRIBUTE')",
"returnType": "bool"
},
{
"name": "entity\\attribute",
"insertText": "entity\\attribute('ATTRIBUTE')",
"returnType": "mixed",
"unsafe": true
},
{
"name": "entity\\attributeFetched",
"insertText": "entity\\attributeFetched('ATTRIBUTE')",
"returnType": "mixed",
"unsafe": true
},
{
"name": "entity\\setAttribute",
"insertText": "entity\\setAttribute('ATTRIBUTE', VALUE)",
"unsafe": true
},
{
"name": "entity\\clearAttribute",
"insertText": "entity\\clearAttribute('ATTRIBUTE')",
"unsafe": true
},
{
"name": "entity\\addLinkMultipleId",
"insertText": "entity\\addLinkMultipleId(LINK, ID)",
"unsafe": true
},
{
"name": "entity\\hasLinkMultipleId",
"insertText": "entity\\hasLinkMultipleId(LINK, ID)",
"returnType": "bool",
"unsafe": true
},
{
"name": "entity\\removeLinkMultipleId",
"insertText": "entity\\removeLinkMultipleId(LINK, ID)",
"unsafe": true
},
{
"name": "entity\\getLinkColumn",
"insertText": "entity\\getLinkColumn(LINK, ID, COLUMN)",
"returnType": "mixed",
"unsafe": true
},
{
"name": "entity\\setLinkMultipleColumn",
"insertText": "entity\\setLinkMultipleColumn(LINK, ID, COLUMN, VALUE)",
"unsafe": true
},
{
"name": "entity\\isRelated",
"insertText": "entity\\isRelated(LINK, ID)",
"returnType": "bool",
"unsafe": true
},
{
"name": "entity\\sumRelated",
"insertText": "entity\\sumRelated(LINK, FIELD, FILTER)",
"returnType": "int|float",
"unsafe": true
},
{
"name": "entity\\countRelated",
"insertText": "entity\\countRelated(LINK, FILTER)",
"returnType": "int",
"unsafe": true
},
{
"name": "record\\exists",
"insertText": "record\\exists(ENTITY_TYPE, KEY, VALUE)",
"returnType": "bool",
"unsafe": true
},
{
"name": "record\\count",
"insertText": "record\\count(ENTITY_TYPE, KEY, VALUE)",
"returnType": "int",
"unsafe": true
},
{
"name": "record\\attribute",
"insertText": "record\\attribute(ENTITY_TYPE, ID, ATTRIBUTE)",
"returnType": "mixed",
"unsafe": true
},
{
"name": "record\\findOne",
"insertText": "record\\findOne(ENTITY_TYPE, ORDER_BY, ORDER, KEY1, VALUE1, KEY2, VALUE2)",
"returnType": "string",
"unsafe": true
},
{
"name": "record\\findMany",
"insertText": "record\\findMany(ENTITY_TYPE, LIMIT, ORDER_BY, ORDER, KEY1, VALUE1, KEY2, VALUE2)",
"returnType": "string",
"unsafe": true
},
{
"name": "record\\findRelatedOne",
"insertText": "record\\findRelatedOne(ENTITY_TYPE, ID, LINK, ORDER_BY, ORDER, KEY1, VALUE1, KEY2, VALUE2)",
"returnType": "string",
"unsafe": true
},
{
"name": "record\\findRelatedMany",
"insertText": "record\\findRelatedMany(ENTITY_TYPE, ID, LINK, LIMIT, ORDER_BY, ORDER, KEY1, VALUE1, KEY2, VALUE2)",
"returnType": "string[]",
"unsafe": true
},
{
"name": "record\\fetch",
"insertText": "record\\fetch(ENTITY_TYPE, ID)",
"returnType": "?object",
"unsafe": true
},
{
"name": "record\\relate",
"insertText": "record\\relate(ENTITY_TYPE, ID, LINK, FOREIGN_ID)",
"unsafe": true
},
{
"name": "record\\unrelate",
"insertText": "record\\unrelate(ENTITY_TYPE, ID, LINK, FOREIGN_ID)",
"unsafe": true
},
{
"name": "record\\create",
"insertText": "record\\create(ENTITY_TYPE, ATTRIBUTE1, VALUE1, ATTRIBUTE2, VALUE2)",
"returnType": "string",
"unsafe": true
},
{
"name": "record\\update",
"insertText": "record\\update(ENTITY_TYPE, ID, ATTRIBUTE1, VALUE1, ATTRIBUTE2, VALUE2)",
"unsafe": true
},
{
"name": "record\\delete",
"insertText": "record\\delete(ENTITY_TYPE, ID)",
"unsafe": true
},
{
"name": "record\\relationColumn",
"insertText": "record\\relationColumn(ENTITY_TYPE, ID, LINK, FOREIGN_ID, COLUMN)",
"returnType": "mixed",
"unsafe": true
},
{
"name": "record\\updateRelationColumn",
"insertText": "record\\updateRelationColumn(ENTITY_TYPE, ID, LINK, FOREIGN_ID, COLUMN, VALUE)",
"unsafe": true
},
{
"name": "env\\userAttribute",
"insertText": "env\\userAttribute('ATTRIBUTE')",
"returnType": "mixed",
"unsafe": true
},
{
"name": "util\\generateId",
"insertText": "util\\generateId()",
"returnType": "string"
},
{
"name": "util\\generateRecordId",
"insertText": "util\\generateRecordId()",
"returnType": "string"
},
{
"name": "util\\base64Encode",
"insertText": "util\\base64Encode(STRING)",
"returnType": "string"
},
{
"name": "util\\base64Decode",
"insertText": "util\\base64Decode(STRING)",
"returnType": "string"
},
{
"name": "object\\create",
"insertText": "object\\create()",
"returnType": "object"
},
{
"name": "object\\get",
"insertText": "object\\get(OBJECT, KEY)",
"returnType": "mixed"
},
{
"name": "object\\has",
"insertText": "object\\has(OBJECT, KEY)",
"returnType": "bool"
},
{
"name": "object\\set",
"insertText": "object\\set(OBJECT, KEY, VALUE)"
},
{
"name": "object\\clear",
"insertText": "object\\clear(OBJECT, KEY)",
"returnType": "object"
},
{
"name": "object\\cloneDeep",
"insertText": "object\\cloneDeep(OBJECT)",
"returnType": "object"
},
{
"name": "password\\generate",
"insertText": "password\\generate()",
"returnType": "string"
},
{
"name": "password\\hash",
"insertText": "password\\hash(PASSWORD)",
"returnType": "string"
},
{
"name": "array\\includes",
"insertText": "array\\includes(LIST, VALUE)",
"returnType": "bool"
},
{
"name": "array\\push",
"insertText": "array\\push(LIST, VALUE)"
},
{
"name": "array\\length",
"insertText": "array\\length(LIST)",
"returnType": "int"
},
{
"name": "array\\at",
"insertText": "array\\at(LIST, INDEX)",
"returnType": "mixed"
},
{
"name": "array\\join",
"insertText": "array\\join(LIST, SEPARATOR)",
"returnType": "string"
},
{
"name": "array\\indexOf",
"insertText": "array\\indexOf(LIST, ELEMENT)",
"returnType": "?int"
},
{
"name": "array\\removeAt",
"insertText": "array\\removeAt(LIST, INDEX)",
"returnType": "array"
},
{
"name": "array\\unique",
"insertText": "array\\unique(LIST)",
"returnType": "array"
},
{
"name": "language\\translate",
"insertText": "language\\translate(LABEL, CATEGORY, SCOPE)",
"returnType": "string"
},
{
"name": "language\\translateOption",
"insertText": "language\\translateOption(OPTION, FIELD, SCOPE)",
"returnType": "string"
},
{
"name": "log\\info",
"insertText": "log\\info(MESSAGE)",
"unsafe": true
},
{
"name": "log\\notice",
"insertText": "log\\notice(MESSAGE)",
"unsafe": true
},
{
"name": "log\\warning",
"insertText": "log\\warning(MESSAGE)",
"unsafe": true
},
{
"name": "log\\error",
"insertText": "log\\error(MESSAGE)",
"unsafe": true
},
{
"name": "json\\retrieve",
"insertText": "json\\retrieve(JSON, PATH)",
"returnType": "mixed"
},
{
"name": "json\\encode",
"insertText": "json\\encode(VALUE)",
"returnType": "string"
},
{
"name": "ext\\email\\send",
"insertText": "ext\\email\\send(EMAIL_ID)",
"returnType": "bool",
"unsafe": true
},
{
"name": "ext\\sms\\send",
"insertText": "ext\\sms\\send(SMS_ID)",
"returnType": "bool",
"unsafe": true
},
{
"name": "ext\\email\\applyTemplate",
"insertText": "ext\\email\\applyTemplate(EMAIL_ID, EMAIL_TEMPLATE_ID)",
"unsafe": true
},
{
"name": "ext\\markdown\\transform",
"insertText": "ext\\markdown\\transform(STRING)",
"returnType": "string"
},
{
"name": "ext\\pdf\\generate",
"insertText": "ext\\pdf\\generate(ENTITY_TYPE, ENTITY_ID, TEMPLATE_ID, FILENAME)",
"returnType": "string",
"unsafe": true
},
{
"name": "ext\\workingTime\\addWorkingDays",
"insertText": "ext\\workingTime\\addWorkingDays(DATE, DAYS)",
"returnType": "string|null"
},
{
"name": "ext\\workingTime\\findClosestWorkingTime",
"insertText": "ext\\workingTime\\findClosestWorkingTime(DATE)",
"returnType": "string|null"
},
{
"name": "ext\\workingTime\\getSummedWorkingHours",
"insertText": "ext\\workingTime\\getSummedWorkingHours(FROM, TO)",
"returnType": "float"
},
{
"name": "ext\\workingTime\\getWorkingDays",
"insertText": "ext\\workingTime\\getWorkingDays(FROM, TO)",
"returnType": "int"
},
{
"name": "ext\\workingTime\\hasWorkingTime",
"insertText": "ext\\workingTime\\hasWorkingTime(FROM, TO)",
"returnType": "bool"
},
{
"name": "ext\\workingTime\\isWorkingDay",
"insertText": "ext\\workingTime\\isWorkingDay(DATE)",
"returnType": "bool"
},
{
"name": "ext\\user\\sendAccessInfo",
"insertText": "ext\\user\\sendAccessInfo(USER_ID)",
"unsafe": true
},
{
"name": "ext\\email\\send",
"insertText": "ext\\email\\send(EMAIL_ID)",
"returnType": "bool",
"unsafe": true
},
{
"name": "ext\\currency\\convert",
"insertText": "ext\\currency\\convert(AMOUNT, FROM_CODE)",
"returnType": "string"
},
{
"name": "ext\\acl\\checkEntity",
"insertText": "ext\\acl\\checkEntity(USER_ID, ENTITY_TYPE, ID, ACTION)",
"returnType": "bool",
"unsafe": true
},
{
"name": "ext\\acl\\checkScope",
"insertText": "ext\\acl\\checkScope(USER_ID, SCOPE, ACTION)",
"returnType": "bool",
"unsafe": true
},
{
"name": "ext\\acl\\getLevel",
"insertText": "ext\\acl\\getLevel(USER_ID, SCOPE, ACTION)",
"returnType": "string",
"unsafe": true
},
{
"name": "ext\\acl\\getPermissionLevel",
"insertText": "ext\\acl\\getPermissionLevel(USER_ID, PERMISSION)",
"returnType": "string",
"unsafe": true
},
{
"name": "ext\\oauth\\getAccessToken",
"insertText": "ext\\oauth\\getAccessToken(ID)",
"returnType": "string",
"unsafe": true
},
{
"name": "ext\\appSecret\\get",
"insertText": "ext\\appSecret\\get(STRING)",
"returnType": "string"
}
],
"functionClassNameMap": {
"log\\info": "Espo\\Core\\Formula\\Functions\\LogGroup\\InfoType",
"log\\notice": "Espo\\Core\\Formula\\Functions\\LogGroup\\NoticeType",
"log\\warning": "Espo\\Core\\Formula\\Functions\\LogGroup\\WarningType",
"log\\error": "Espo\\Core\\Formula\\Functions\\LogGroup\\ErrorType",
"ext\\acl\\checkEntity": "Espo\\Core\\Formula\\Functions\\ExtGroup\\AclGroup\\CheckEntityType",
"ext\\acl\\checkScope": "Espo\\Core\\Formula\\Functions\\ExtGroup\\AclGroup\\CheckScopeType",
"ext\\acl\\getLevel": "Espo\\Core\\Formula\\Functions\\ExtGroup\\AclGroup\\GetLevelType",
"ext\\acl\\getPermissionLevel": "Espo\\Core\\Formula\\Functions\\ExtGroup\\AclGroup\\GetPermissionLevelType",
"ext\\appSecret\\get": "Espo\\Core\\Formula\\Functions\\ExtGroup\\SecretGroup\\GetType",
"util\\base64Encode": "Espo\\Core\\Formula\\Functions\\UtilGroup\\Base64EncodeType",
"util\\base64Decode": "Espo\\Core\\Formula\\Functions\\UtilGroup\\Base64DecodeType",
"ext\\oauth\\getAccessToken": "Espo\\Core\\Formula\\Functions\\ExtGroup\\OauthGroup\\GetAccessTokenType"
}
}