API Reference

Complete reference for all Tauri backend commands.

API Reference

This page documents the complete list of remote procedure calls (RPC) available to the frontend via Tauri's invoke system.


Connection Commands

add_connection

Register a new database connection.

Stable

Inputs:

NameTypeDescription
nameStringDisplay name
database_infoDatabaseInfoConnection details
colornumber?UI color hue

Returns: Promise<ConnectionInfo>

await invoke('add_connection', { name, database_info, color })

update_connection

Update an existing connection configuration.

Side Effect

May disconnect active session.

Inputs:

NameTypeDescription
conn_idUuidConnection ID
nameStringNew name
database_infoDatabaseInfoNew details
colornumber?New color

Returns: Promise<ConnectionInfo>

await invoke('update_connection', { conn_id, name, database_info, color })

update_connection_color

Update only the color of a connection.

Inputs:

NameTypeDescription
connection_idUuidConnection ID
colornumber?New color hue

Returns: Promise<void>

await invoke('update_connection_color', { connection_id, color })

connect_to_database

Establish an active connection.

Inputs:

NameTypeDescription
connection_idUuidConnection ID

Returns: Promise<boolean>

await invoke('connect_to_database', { connection_id })

disconnect_from_database

Close the active connection.

Inputs:

NameTypeDescription
connection_idUuidConnection ID

Returns: Promise<void>

await invoke('disconnect_from_database', { connection_id })

get_connections

List all configured connections.

Returns: Promise<ConnectionInfo[]>

const conns = await invoke('get_connections')

remove_connection

Delete a connection configuration.

Inputs:

NameTypeDescription
connection_idUuidConnection ID

Returns: Promise<void>

await invoke('remove_connection', { connection_id })

test_connection

Test connectivity without saving.

Inputs:

NameTypeDescription
database_infoDatabaseInfoDetails to test

Returns: Promise<boolean>

await invoke('test_connection', { database_info })

initialize_connections

Loads and initializes connections from storage on startup.

Returns: Promise<void>

await invoke('initialize_connections')

get_recent_connections

Get recently used connections.

Inputs:

NameTypeDescription
limitnumber?Max results

Returns: Promise<ConnectionInfo[]>

await invoke('get_recent_connections', { limit: 5 })

get_connection_history

Get historical connection attempts.

Inputs:

NameTypeDescription
db_type_filterString?Filter by DB type
success_filterboolean?Filter by success
limitnumber?Max results

Returns: Promise<ConnectionHistoryEntry[]>

await invoke('get_connection_history', { limit: 20 })

Query Commands

start_query

Execute a SQL query. Returns partial results immediately if possible or Query IDs.

Inputs:

NameTypeDescription
connection_idUuidActive connection
queryStringSQL string

Returns: Promise<number[]> (Query IDs)

await invoke('start_query', { connection_id, query })

fetch_query

Get info about a query execution.

Inputs:

NameTypeDescription
query_idnumberQuery ID

Returns: Promise<StatementInfo>

await invoke('fetch_query', { query_id })

fetch_page

Fetch a specific page of results.

Inputs:

NameTypeDescription
query_idnumberQuery ID
page_indexnumberPage number

Returns: Promise<Record<string, any>[] | null>

await invoke('fetch_page', { query_id, page_index: 0 })

get_query_status

Check execution status.

Inputs:

NameTypeDescription
query_idnumberQuery ID

Returns: Promise<QueryStatus>

await invoke('get_query_status', { query_id })

get_page_count

Get total pages for a query.

Inputs:

NameTypeDescription
query_idnumberQuery ID

Returns: Promise<number>

await invoke('get_page_count', { query_id })

get_columns

Get column definitions for a query result.

Inputs:

NameTypeDescription
query_idnumberQuery ID

Returns: Promise<ColumnDef[] | null>

await invoke('get_columns', { query_id })

save_query_to_history

Manually record a query execution.

Inputs:

NameTypeDescription
connection_idStringConnection ID
queryStringSQL
duration_msnumber?Execution time
statusStringResult status
row_countnumberRows affected
error_messageString?Error details

Returns: Promise<void>

await invoke('save_query_to_history', { ... });

get_query_history

Get history for a specific connection.

Inputs:

NameTypeDescription
connection_idStringConnection ID
limitnumber?Max items

Returns: Promise<QueryHistoryEntry[]>

await invoke('get_query_history', { connection_id })

get_recent_queries

Get global query history.

Inputs:

NameTypeDescription
connection_idString?Filter by connection
limitnumber?Max items
status_filterString?Filter by status

Returns: Promise<QueryHistoryEntry[]>

await invoke('get_recent_queries', { limit: 50 })

Script Commands

save_script

Save a SQL script.

Inputs:

NameTypeDescription
nameStringScript name
contentStringSQL content
connection_idUuid?Linked connection
descriptionString?Metadata

Returns: Promise<number> (Script ID)

const id = await invoke('save_script', { name, content })

update_script

Update an existing script.

Inputs:

NameTypeDescription
idnumberScript ID
nameStringNew name
contentStringNew content
connection_idUuid?Linked connection
descriptionString?Description

Returns: Promise<void>

await invoke('update_script', { id, name, content })

get_scripts

List saved scripts.

Inputs:

NameTypeDescription
connection_idUuid?Filter by connection

Returns: Promise<SavedQuery[]>

await invoke('get_scripts')

delete_script

Delete a saved script.

Inputs:

NameTypeDescription
idnumberScript ID

Returns: Promise<void>

await invoke('delete_script', { id })

Setting / Session Commands

save_session_state

Persist UI session state (tabs, etc.).

Inputs:

NameTypeDescription
session_dataStringJSON string

Returns: Promise<void>

await invoke('save_session_state', { session_data })

get_session_state

Retrieve persisted session state.

Returns: Promise<String | null>

await invoke('get_session_state')

get_setting

Get a user preference.

Inputs:

NameTypeDescription
keyStringSetting key

Returns: Promise<String | null>

await invoke('get_setting', { key: 'theme' })

set_setting

Set a user preference.

Inputs:

NameTypeDescription
keyStringSetting key
valueStringValue

Returns: Promise<void>

await invoke('set_setting', { key: 'theme', value: 'dark' })

Mutation Commands

insert_row

Insert a record.

Inputs:

NameTypeDescription
connection_idUuidConnection ID
table_nameStringTable
schema_nameString?Schema
row_dataObjectData

Returns: Promise<MutationResult>

await invoke('insert_row', { connection_id, table_name, row_data })

update_cell

Update a single cell value.

Inputs:

NameTypeDescription
connection_idUuidConnection ID
table_nameStringTable
schema_nameString?Schema
primary_key_columnStringPK Column
primary_key_valueanyPK Value
column_nameStringTarget Column
new_valueanyNew Value

Returns: Promise<MutationResult>

await invoke('update_cell', { ... });

delete_rows

Delete rows by PK.

Inputs:

NameTypeDescription
connection_idUuidConnection ID
table_nameStringTable
schema_nameString?Schema
primary_key_columnStringPK Column
primary_key_valuesany[]PK Values

Returns: Promise<MutationResult>

await invoke('delete_rows', { ... });

export_table

Export table data.

Inputs:

NameTypeDescription
connection_idUuidConnection ID
table_nameStringTable
schema_nameString?Schema
formatExportFormatEnum (CSV, JSON, SQL)
limitnumber?Max rows

Returns: Promise<String> (Data or Path)

await invoke('export_table', { ... });

soft_delete_rows

Perform a soft delete (update flag).

Inputs:

NameTypeDescription
connection_idUuidConnection ID
table_nameStringTable
schema_nameString?Schema
primary_key_columnStringPK Column
primary_key_valuesany[]PK Values
soft_delete_columnString?Column to update

Returns: Promise<SoftDeleteResult>

await invoke('soft_delete_rows', { ... });

undo_soft_delete

Restore soft-deleted rows.

Inputs:

NameTypeDescription
connection_idUuidConnection ID
table_nameStringTable
schema_nameString?Schema
primary_key_columnStringPK Column
primary_key_valuesany[]PK Values
soft_delete_columnStringColumn to restore

Returns: Promise<MutationResult>

await invoke('undo_soft_delete', { ... });


seed_table

Populate a table with mock data for testing. All seedable columns (non-PK) will be filled with realistic data based on their type and name.

Experimental

May fail on complex constraints.

Inputs:

NameTypeDescription
connection_idUuidConnection ID
table_nameStringTarget Table
schema_nameString?Target Schema
countnumberRows to insert

Returns: Promise<SeedResult>

await invoke('seed_table', {
	connection_id,
	table_name: 'users',
	count: 100
})

truncate_table

Truncate a table.

Irreversible

Inputs:

NameTypeDescription
connection_idUuidConnection ID
table_nameStringTable
schema_nameString?Schema
cascadeboolean?CASCADE option

Returns: Promise<TruncateResult>

await invoke('truncate_table', { ... });

truncate_database

Truncate ALL tables.

EXTREMELY DANGEROUS

Inputs:

NameTypeDescription
connection_idUuidConnection ID
schema_nameString?Target schema (optional)
confirmbooleanSafety flag

Returns: Promise<TruncateResult>

await invoke('truncate_database', { confirm: true, ... });

dump_database

Create a database dump.

Inputs:

NameTypeDescription
connection_idUuidConnection ID
output_pathStringTarget file path

Returns: Promise<DumpResult>

await invoke('dump_database', { output_path: '/tmp/dump.sql' })

execute_batch

Execute multiple raw SQL statements.

Inputs:

NameTypeDescription
connection_idUuidConnection ID
statementsString[]SQL statements

Returns: Promise<MutationResult>

await invoke('execute_batch', { statements: [...] });

Metadata Commands

get_database_schema

Get full schema tree.

Inputs:

NameTypeDescription
connection_idUuidConnection ID

Returns: Promise<DatabaseSchema>

await invoke('get_database_schema', { connection_id })

get_database_metadata

Get simple metadata (version, size).

Inputs:

NameTypeDescription
connection_idUuidConnection ID

Returns: Promise<DatabaseMetadata>

await invoke('get_database_metadata', { connection_id })