Thus, neither Integer nor String ancestorDepth will work on the ETAPI.
Error logs
ancestorDepth as string:
trilium_1 | ERROR: get /etapi/notes threw exception Cannot parse integer 'ancestorDepth' value 'eq1 with stacktrace: Error: Cannot parse integer 'ancestorDepth' value 'eq1
trilium_1 | at parseInteger (/usr/src/app/src/etapi/notes.js:207:15)
trilium_1 | at parseSearchParams (/usr/src/app/src/etapi/notes.js:153:26)
trilium_1 | at /usr/src/app/src/etapi/notes.js:20:30
trilium_1 | at Function.cb (/usr/src/app/src/etapi/etapi_utils.js:50:30)
trilium_1 | at Function.sqliteTransaction (/usr/src/app/node_modules/better-sqlite3/lib/methods/transaction.js:65:24)
trilium_1 | at Object.transactional (/usr/src/app/src/services/sql.js:236:52)
trilium_1 | at /usr/src/app/src/etapi/etapi_utils.js:52:24
trilium_1 | at /usr/src/app/node_modules/cls-hooked/context.js:118:13
trilium_1 | at Namespace.run (/usr/src/app/node_modules/cls-hooked/context.js:97:5)
trilium_1 | at Namespace.runAndReturn (/usr/src/app/node_modules/cls-hooked/context.js:117:8)
ancestorDepth as Integer:
trilium_1 | ERROR: get /etapi/notes threw exception depthCondition.substr is not a function with stacktrace: TypeError: depthCondition.substr is not a function
trilium_1 | at AncestorExp.getComparator (/usr/src/app/src/services/search/expressions/ancestor.js:52:55)
trilium_1 | at new AncestorExp (/usr/src/app/src/services/search/expressions/ancestor.js:14:45)
trilium_1 | at parse (/usr/src/app/src/services/search/services/parse.js:422:85)
trilium_1 | at parseQueryToExpression (/usr/src/app/src/services/search/services/search.js:202:24)
trilium_1 | at Object.findResultsWithQuery (/usr/src/app/src/services/search/services/search.js:241:24)
trilium_1 | at /usr/src/app/src/etapi/notes.js:23:45
trilium_1 | at Function.cb (/usr/src/app/src/etapi/etapi_utils.js:50:30)
trilium_1 | at Function.sqliteTransaction (/usr/src/app/node_modules/better-sqlite3/lib/methods/transaction.js:65:24)
trilium_1 | at Object.transactional (/usr/src/app/src/services/sql.js:236:52)
trilium_1 | at /usr/src/app/src/etapi/etapi_utils.js:52:24
Trilium Version
0.57.5
What operating system are you using?
Other Linux
What is your setup?
Local + server sync
Operating System Version
Fedora 36
Description
On https://github.com/zadam/trilium/blob/master/src/etapi/notes.js#L153,
ancestorDepth
is assumed to be Integer when present. Further down, however, it is used as string here: https://github.com/zadam/trilium/blob/master/src/services/search/expressions/ancestor.js#L52Thus, neither Integer nor String
ancestorDepth
will work on the ETAPI.Error logs
ancestorDepth
as string:ancestorDepth
as Integer: