api.notes
Interface: INotesApi
Implementation tier: T1
Create, read, update, and delete user notes. Query notes by verse, tag, type, or free-text search.
Permissions
notes:readnotes:write (for create/update/delete)
Methods
list
list(query?: NoteQueryDto): Promise<UserNoteDto[]>
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
query | NoteQueryDto | No |
Returns: Promise<UserNoteDto[]>
get
get(id: string): Promise<UserNoteDto | null>
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes |
Returns: Promise<UserNoteDto | null>
create
create(note: NewNoteDto): Promise<UserNoteDto>
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
note | NewNoteDto | Yes |
Returns: Promise<UserNoteDto>
update
update(id: string, patch: Partial<UserNoteDto>): Promise<UserNoteDto>
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
patch | Partial<UserNoteDto> | Yes |
Returns: Promise<UserNoteDto>
delete
delete(id: string): Promise<void>
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes |
Returns: Promise<void>
Events
onDidChange
onDidChange: IEventApi<{ id: string; type: 'created' | 'updated' | 'deleted' }>
Payload type: { id: string; type: 'created' | 'updated' | 'deleted' }
Subscribe to this event:
const handle = await api.notes.onDidChange.subscribe((payload) => {
// Handle event
});
// Later, to unsubscribe:
await handle.dispose();