Class: BackendScriptApi

BackendScriptApi

Members

currentNote

Properties:
Name Type Description
note Note where script is currently executing. Don't mix this up with concept of active note
Source:

originEntity

Properties:
Name Type Description
entity Entity whose event triggered this executions
Source:

refreshTree

Trigger tree refresh in all connected clients. This is required when some tree change happens in the backend.
Source:

startNote

Properties:
Name Type Description
note Note where script started executing
Source:

Methods

createDataNote(parentNoteId, title, content) → {Promise.<{note: Note, branch: Branch}>}

Create data note - data in this context means object serializable to JSON. Created note will be of type 'code' and JSON MIME type. See also createNewNote() for more options.
Parameters:
Name Type Description
parentNoteId string
title string
content object
Source:
Returns:
Type
Promise.<{note: Note, branch: Branch}>

createNewNote(paramsopt) → {Promise.<{note: Note, branch: Branch}>}

Parameters:
Name Type Attributes Description
params CreateNewNoteParams <optional>
Source:
Returns:
object contains newly created entities note and branch
Type
Promise.<{note: Note, branch: Branch}>

createNote(parentNoteId, title, contentopt, extraOptionsopt) → {Promise.<{note: Note, branch: Branch}>}

Parameters:
Name Type Attributes Default Description
parentNoteId string create new note under this parent
title string
content string <optional>
""
extraOptions CreateNoteExtraOptions <optional>
{}
Source:
Returns:
object contains newly created entities note and branch
Type
Promise.<{note: Note, branch: Branch}>

createTextNote(parentNoteId, title, content) → {Promise.<{note: Note, branch: Branch}>}

Create text note. See also createNewNote() for more options.
Parameters:
Name Type Description
parentNoteId string
title string
content string
Source:
Returns:
Type
Promise.<{note: Note, branch: Branch}>

ensureNoteIsAbsentFromParent(noteId, parentNoteId) → {Promise.<void>}

If there's a branch between note and parent note, remove it. Otherwise do nothing.
Parameters:
Name Type Description
noteId string
parentNoteId string
Source:
Returns:
Type
Promise.<void>

ensureNoteIsPresentInParent(noteId, parentNoteId, prefix) → {Promise.<void>}

If there's no branch between note and parent note, create one. Otherwise do nothing.
Parameters:
Name Type Description
noteId string
parentNoteId string
prefix string if branch will be create between note and parent note, set this prefix
Source:
Returns:
Type
Promise.<void>

getAppInfo() → {Object|*}

Source:
Returns:
- object representing basic info about running Trilium version
Type
Object | *

getAttribute(attributeId) → {Promise.<(Attribute|null)>}

Parameters:
Name Type Description
attributeId string
Source:
Returns:
Type
Promise.<(Attribute|null)>

getBranch(branchId) → {Promise.<(Branch|null)>}

Parameters:
Name Type Description
branchId string
Source:
Returns:
Type
Promise.<(Branch|null)>

getDateNote(date) → {Promise.<(Note|null)>}

Returns day note for given date. If such note doesn't exist, it is created.
Parameters:
Name Type Description
date string in YYYY-MM-DD format
Source:
Returns:
Type
Promise.<(Note|null)>

getEntities(SQL, array) → {Promise.<Array.<Entity>>}

Parameters:
Name Type Description
SQL string query
array Array.<?> of params
Source:
Returns:
Type
Promise.<Array.<Entity>>

getEntity(SQL, array) → {Promise.<(Entity|null)>}

Retrieves first entity from the SQL's result set.
Parameters:
Name Type Description
SQL string query
array Array.<?> of params
Source:
Returns:
Type
Promise.<(Entity|null)>

getImage(imageId) → {Promise.<(Image|null)>}

Parameters:
Name Type Description
imageId string
Source:
Returns:
Type
Promise.<(Image|null)>

getInstanceName() → {string|null}

Instance name identifies particular Trilium instance. It can be useful for scripts if some action needs to happen on only one specific instance.
Source:
Returns:
Type
string | null

getMonthNote(date) → {Promise.<(Note|null)>}

Returns month note for given date. If such note doesn't exist, it is created.
Parameters:
Name Type Description
date string in YYYY-MM format
Source:
Returns:
Type
Promise.<(Note|null)>

getNote(noteId) → {Promise.<(Note|null)>}

Parameters:
Name Type Description
noteId string
Source:
Returns:
Type
Promise.<(Note|null)>

getNotesWithLabel(name, valueopt) → {Promise.<Array.<Note>>}

Retrieves notes with given label name & value
Parameters:
Name Type Attributes Description
name string attribute name
value string <optional>
attribute value
Source:
Returns:
Type
Promise.<Array.<Note>>

getNoteWithLabel(name, valueopt) → {Promise.<(Note|null)>}

Retrieves first note with given label name & value
Parameters:
Name Type Attributes Description
name string attribute name
value string <optional>
attribute value
Source:
Returns:
Type
Promise.<(Note|null)>

getRootCalendarNote() → {Promise.<(Note|null)>}

Returns root note of the calendar.
Source:
Returns:
Type
Promise.<(Note|null)>

getTodayNote() → {Promise.<(Note|null)>}

Returns today's day note. If such note doesn't exist, it is created.
Source:
Returns:
Type
Promise.<(Note|null)>

getWeekNote(date, options) → {Promise.<(Note|null)>}

Returns note for the first date of the week of the given date.
Parameters:
Name Type Description
date string in YYYY-MM-DD format
options object "startOfTheWeek" - either "monday" (default) or "sunday"
Source:
Returns:
Type
Promise.<(Note|null)>

getYearNote(year) → {Promise.<(Note|null)>}

Returns year note for given year. If such note doesn't exist, it is created.
Parameters:
Name Type Description
year string in YYYY format
Source:
Returns:
Type
Promise.<(Note|null)>

log(message)

Log given message to trilium logs.
Parameters:
Name Type Description
message
Source:

searchForNote(searchString) → {Promise.<(Note|null)>}

This is a powerful search method - you can search by attributes and their values, e.g.: "@dateModified =* MONTH AND @log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
Parameters:
Name Type Description
searchString string
Source:
Returns:
Type
Promise.<(Note|null)>

searchForNotes(searchString) → {Promise.<Array.<Note>>}

This is a powerful search method - you can search by attributes and their values, e.g.: "@dateModified =* MONTH AND @log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
Parameters:
Name Type Description
searchString string
Source:
Returns:
Type
Promise.<Array.<Note>>

setNoteToParent(noteId, prefix, parentNoteId)

This method finds note by its noteId and prefix and either sets it to the given parentNoteId or removes the branch (if parentNoteId is not given). This method looks similar to toggleNoteInParent() but differs because we're looking up branch by prefix.
Parameters:
Name Type Description
noteId string
prefix string
parentNoteId string | null
Deprecated:
  • - this method is pretty confusing and serves specialized purpose only
Source:

sortNotesAlphabetically(parentNoteId)

Parameters:
Name Type Description
parentNoteId string this note's child notes will be sorted
Source:
Returns:
Promise

toggleNoteInParent(present, noteId, parentNoteId, prefix) → {Promise.<void>}

Based on the value, either create or remove branch between note and parent note.
Parameters:
Name Type Description
present boolean true if we want the branch to exist, false if we want it gone
noteId string
parentNoteId string
prefix string if branch will be create between note and parent note, set this prefix
Source:
Returns:
Type
Promise.<void>

transactional(func) → {Promise.<?>}

This functions wraps code which is supposed to be running in transaction. If transaction already exists, then we'll use that transaction. This method is required only when script has label manualTransactionHandling, all other scripts are transactional by default.
Parameters:
Name Type Description
func function
Source:
Returns:
result of func callback
Type
Promise.<?>