Development Documentation (main branch) - For stable release docs, see docs.rs/eidetica
Skip to main content

Module session

Module session 

Source
Expand description

User session management

Represents an authenticated user session with decrypted keys.

§API Overview

The User API is organized into three areas for managing Databases:

§Database Lifecycle

  • create_database() - Create a new database
  • open_database() - Open an existing database
  • open_database_with_key() - Open with an explicitly chosen user key
  • find_database() - Search for databases by name

§Tracked Databases

Manage your personal list of tracked databases:

  • databases() - List all tracked databases
  • database() - Get a specific tracked database
  • track_database() - Add or update a tracked database (upsert)
  • untrack_database() - Remove a database from your tracked list
  • enable_sync() / disable_sync() - Toggle this user’s sync preference for a tracked database
  • is_sync_enabled() - Check this user’s sync preference for a database
  • share() - Atomically enable sync and build a DatabaseTicket for handoff

§Key-Database Mappings

Control which keys access which databases:

  • map_key() - Map a key to a SigKey identifier for a database
  • key_mapping() - Get the SigKey mapping for a key-database pair
  • find_key() - Find which key can access a database

This explicit approach ensures predictable behavior and avoids ambiguity about which keys have access to which databases.

Structs§

DatabaseBuilder
Chainable builder for constructing a new Database with all of its initial shape — settings, signing key, registered stores, and seed data — folded into one genesis entry.
User
User session object, returned after successful login