database/airpass_database library
Airpass Protocol — Drift Database Definition
Defines the three core tables (Nodes, Messages, and Groups) and their type-safe DAO methods. Uses Drift's code generation for reactive queries and compile-time SQL validation.
After modifying this file, regenerate with:
dart run build_runner build --delete-conflicting-outputs
Classes
- $$GroupsTableAnnotationComposer
- $$GroupsTableFilterComposer
- $$GroupsTableOrderingComposer
- $$GroupsTableTableManager
- $$MessageDeliveriesTableAnnotationComposer
- $$MessageDeliveriesTableFilterComposer
- $$MessageDeliveriesTableOrderingComposer
- $$MessageDeliveriesTableTableManager
- $$MessagesTableAnnotationComposer
- $$MessagesTableFilterComposer
- $$MessagesTableOrderingComposer
- $$MessagesTableTableManager
- $$NodesTableAnnotationComposer
- $$NodesTableFilterComposer
- $$NodesTableOrderingComposer
- $$NodesTableTableManager
- $AirpassDatabaseManager
- $GroupsTable
- $MessageDeliveriesTable
- $MessagesTable
- $NodesTable
- AirpassDatabase
- Group
- Groups
- Group directory — stores groups discovered through the mesh network. Groups are learned passively (from endpoint names during discovery) and actively (from routing tables exchanged during sync).
- GroupsCompanion
- Message
- MessageDeliveries
- Per-peer message delivery tracking — prevents retransmitting messages to peers that have already received them.
- MessageDeliveriesCompanion
- MessageDelivery
- Messages
- Store-and-forward message table — holds messages created locally or received via gossip that haven't yet reached their target.
- MessagesCompanion
- Node
- Nodes
- Routing table — stores every node this device has ever learned about through direct encounter or gossip relay.
- NodesCompanion
Typedefs
-
$$GroupsTableCreateCompanionBuilder
= GroupsCompanion Function({required int discoveredAt, required String displayName, required String groupId, Value<
bool> isSubscribed, required int lastSeenAt, Value<int> memberCount, Value<String?> metadata, Value<int> rowid}) -
$$GroupsTableProcessedTableManager
= ProcessedTableManager<
_$AirpassDatabase, $GroupsTable, Group, $$GroupsTableFilterComposer, $$GroupsTableOrderingComposer, $$GroupsTableAnnotationComposer, $$GroupsTableCreateCompanionBuilder, $$GroupsTableUpdateCompanionBuilder, (Group, BaseReferences< _$AirpassDatabase, $GroupsTable, Group> ), Group, PrefetchHooks Function()> -
$$GroupsTableUpdateCompanionBuilder
= GroupsCompanion Function({Value<
int> discoveredAt, Value<String> displayName, Value<String> groupId, Value<bool> isSubscribed, Value<int> lastSeenAt, Value<int> memberCount, Value<String?> metadata, Value<int> rowid}) -
$$MessageDeliveriesTableCreateCompanionBuilder
= MessageDeliveriesCompanion Function({required int deliveredAt, required String messageId, required String peerNodeId, Value<
int> rowid}) -
$$MessageDeliveriesTableProcessedTableManager
= ProcessedTableManager<
_$AirpassDatabase, $MessageDeliveriesTable, MessageDelivery, $$MessageDeliveriesTableFilterComposer, $$MessageDeliveriesTableOrderingComposer, $$MessageDeliveriesTableAnnotationComposer, $$MessageDeliveriesTableCreateCompanionBuilder, $$MessageDeliveriesTableUpdateCompanionBuilder, (MessageDelivery, BaseReferences< _$AirpassDatabase, $MessageDeliveriesTable, MessageDelivery> ), MessageDelivery, PrefetchHooks Function()> -
$$MessageDeliveriesTableUpdateCompanionBuilder
= MessageDeliveriesCompanion Function({Value<
int> deliveredAt, Value<String> messageId, Value<String> peerNodeId, Value<int> rowid}) -
$$MessagesTableCreateCompanionBuilder
= MessagesCompanion Function({required int createdAt, Value<
int> mediaAvailability, Value<String?> mediaFileName, Value<int?> mediaFileSize, Value<String?> mediaHash, Value<String?> mediaLocalPath, Value<String?> mediaMimeType, Value<Uint8List?> mediaThumbnail, Value<int> mediaType, required String messageId, required Uint8List payload, Value<int> rowid, required String senderId, Value<String?> signature, Value<int> status, required String targetId, required int ttl}) -
$$MessagesTableProcessedTableManager
= ProcessedTableManager<
_$AirpassDatabase, $MessagesTable, Message, $$MessagesTableFilterComposer, $$MessagesTableOrderingComposer, $$MessagesTableAnnotationComposer, $$MessagesTableCreateCompanionBuilder, $$MessagesTableUpdateCompanionBuilder, (Message, BaseReferences< _$AirpassDatabase, $MessagesTable, Message> ), Message, PrefetchHooks Function()> -
$$MessagesTableUpdateCompanionBuilder
= MessagesCompanion Function({Value<
int> createdAt, Value<int> mediaAvailability, Value<String?> mediaFileName, Value<int?> mediaFileSize, Value<String?> mediaHash, Value<String?> mediaLocalPath, Value<String?> mediaMimeType, Value<Uint8List?> mediaThumbnail, Value<int> mediaType, Value<String> messageId, Value<Uint8List> payload, Value<int> rowid, Value<String> senderId, Value<String?> signature, Value<int> status, Value<String> targetId, Value<int> ttl}) -
$$NodesTableCreateCompanionBuilder
= NodesCompanion Function({Value<
int?> batteryLevel, Value<String?> displayName, Value<String?> groupId, Value<bool> hasInternetAccess, Value<int> hopCount, required int lastSeen, Value<String?> metadata, required String nodeId, Value<int> role, Value<int> rowid}) -
$$NodesTableProcessedTableManager
= ProcessedTableManager<
_$AirpassDatabase, $NodesTable, Node, $$NodesTableFilterComposer, $$NodesTableOrderingComposer, $$NodesTableAnnotationComposer, $$NodesTableCreateCompanionBuilder, $$NodesTableUpdateCompanionBuilder, (Node, BaseReferences< _$AirpassDatabase, $NodesTable, Node> ), Node, PrefetchHooks Function()> -
$$NodesTableUpdateCompanionBuilder
= NodesCompanion Function({Value<
int?> batteryLevel, Value<String?> displayName, Value<String?> groupId, Value<bool> hasInternetAccess, Value<int> hopCount, Value<int> lastSeen, Value<String?> metadata, Value<String> nodeId, Value<int> role, Value<int> rowid})