rpc_dart_data library

Classes

BaseDataRepository
Базовая реализация DataRepository, инкапсулирующая общую бизнес-логику и работу с журналом событий. Хранилище делегируется DataStorageAdapter, поэтому поверх класса легко собрать адаптеры под SQLite/Postgres/Firestore.
BulkDeleteRequest
BulkDeleteResponse
BulkUpsertRequest
BulkUpsertResponse
CollectionChange<T>
CollectionIndex
CollectionSchema
Schema definition persisted for a collection.
CollectionSchemaPolicy
Policy switches for per-collection schema enforcement.
CollectionSchemaRegistry
Abstract registry that stores active schemas.
CreateCollectionIndexRequest
CreateCollectionIndexResponse
CreateRecordRequest
CreateRecordResponse
DatabaseChunk
Chunked NDJSON payload for export/import streaming.
DatabaseConnection
Lightweight wrapper around sqlite3 databases to match the previous API.
DataChangeEvent
DataChangeJournal
Persists and replays change events for DataRepository.watch cursors.
DataRecord
Тип команды для офлайн-синхронизации и command pattern. Неизменяемая запись данных.
DataServiceCaller
DataServiceClient
Клиентская инкапсуляция. Хранит endpoint и caller и реализует интерфейс DataService.
DataServiceCollection<T>
Typed wrapper around a single IDataService collection.
DataServiceFactory
Утилиты для создания сервиса/клиента.
DataServiceResponder
DataServiceServer
Серверная обёртка: содержит endpoint, responder и репозиторий.
DeleteCollectionIndexRequest
DeleteCollectionIndexResponse
DeleteCollectionRequest
DeleteCollectionResponse
DeleteRecordRequest
DeleteRecordResponse
ExportDatabaseRequest
ExportSnapshotRequest
ExportSnapshotResponse
GetRecordRequest
GetRecordResponse
GetSchemaRequest
GetSchemaResponse
ICollectionIndexStorageAdapter
IDataRepository
Абстракция репозитория данных.
IDataService
High-level facade that encapsulates RPC plumbing for the data service.
IDataServiceCollection<T>
IDataServiceContract
Контракт сервиса данных с именем DataService.
IDataStorageAdapter
Адаптер хранилища, который можно реализовать поверх любого backend-а (in-memory, SQLite, Postgres и т.д.).
ImportDatabaseResponse
ImportProgress
Progress/summary emitted by bidirectional import.
InMemoryDataChangeJournal
In-memory implementation of DataChangeJournal. Primarily used by the unit tests and the InMemoryDataRepository helper.
InMemoryDataRepository
Готовый in-memory репозиторий, который можно заменить адаптером к SQLite или любому другому backend-у, не меняя остальной код сервиса данных.
InMemoryDataServiceEnvironment
Результат helper-а для быстрого развёртывания in-memory окружения.
InMemorySchemaRegistry
Simple in-memory registry used by tests and the in-memory adapter.
InMemoryStorageAdapter
In-memory адаптер, реализующий интерфейс DataStorageAdapter на обычных картах. Эту реализацию легко заменить на SQLite/Isar/Hive, не меняя бизнес-логику BaseDataRepository.
ListCollectionsRequest
ListCollectionsResponse
ListRecordsRequest
ListRecordsResponse
ListSchemasRequest
ListSchemasResponse
MigrationCapableRepository
Repository contract for running declarative migrations.
MigrationDefinition
Declarative migration definition stored in code/config.
MigrationPlan
Fluent builder to construct a consistent migration chain for a collection.
MigrationRunnerHelper
Helper to apply pending migrations in order, comparing active schema version with registered migrations.
PatchRecordRequest
PatchRecordResponse
PgTableNames
PostgresConnectionOptions
PostgresDataChangeJournal
PostgresDataRepository
Repository backed by PostgresDataStorageAdapter.
PostgresDataStorageAdapter
PostgreSQL-backed implementation of IDataStorageAdapter.
PostgresSchemaRegistry
QueryOptions
RangeFilter
RecordFilter
RecordPatch
RpcStreamIterator<T>
SchemaInfo
SchemaMigrationCheckpoint
SchemaMigrationError
SchemaMigrationOptions
Migration options to control batching and error policy.
SchemaMigrationResult
SchemaValidationConfig
Runtime configuration for schema validation.
SchemaValidationEngine
Wrapper that combines registry + validator to gate writes.
SchemaValidationError
Error shape returned by the validator.
SchemaValidator
Lightweight JSON Schema-like validator (subset) with predictable errors.
SearchRecordsRequest
SearchRecordsResponse
SetSchemaPolicyRequest
SetSchemaPolicyResponse
SortOrder
SqlCipherKey
Container for SQLCipher key material imported from a PASERK string.
SqliteCollectionSchemaRegistry
SQLite-backed registry for collection schemas and migration checkpoints.
SqliteConnectionOptions
Cross-platform configuration for opening SQLite databases.
SqliteDataChangeJournal
SqliteDataDatabase
Minimal reimplementation of a sqlite3 executor.
SqliteDataRepository
Convenience repository that uses SqliteDataStorageAdapter.
SqliteDataStorageAdapter
SQLite-based implementation of IDataStorageAdapter backed by SQLite.
SqliteSelectQuery
UpdateRecordRequest
UpdateRecordResponse
Versioned<T>
WatchChangesRequest

Enums

DataChangeType
Тип изменения записи в потоке изменений.
WebVfsMode
VFS mode used by the web connection.

Constants

bulkDeleteRequestCodec → const RpcCodec<BulkDeleteRequest>
bulkDeleteResponseCodec → const RpcCodec<BulkDeleteResponse>
bulkUpsertResponseCodec → const RpcCodec<BulkUpsertResponse>
changeEventCodec → const RpcCodec<DataChangeEvent>
createIndexRequestCodec → const RpcCodec<CreateCollectionIndexRequest>
createIndexResponseCodec → const RpcCodec<CreateCollectionIndexResponse>
createRequestCodec → const RpcCodec<CreateRecordRequest>
createResponseCodec → const RpcCodec<CreateRecordResponse>
databaseChunkCodec → const RpcCodec<DatabaseChunk>
deleteCollectionRequestCodec → const RpcCodec<DeleteCollectionRequest>
deleteCollectionResponseCodec → const RpcCodec<DeleteCollectionResponse>
deleteIndexRequestCodec → const RpcCodec<DeleteCollectionIndexRequest>
deleteIndexResponseCodec → const RpcCodec<DeleteCollectionIndexResponse>
deleteRequestCodec → const RpcCodec<DeleteRecordRequest>
deleteResponseCodec → const RpcCodec<DeleteRecordResponse>
exportDatabaseRequestCodec → const RpcCodec<ExportDatabaseRequest>
exportRequestCodec → const RpcCodec<ExportSnapshotRequest>
exportResponseCodec → const RpcCodec<ExportSnapshotResponse>
getRequestCodec → const RpcCodec<GetRecordRequest>
getResponseCodec → const RpcCodec<GetRecordResponse>
getSchemaRequestCodec → const RpcCodec<GetSchemaRequest>
getSchemaResponseCodec → const RpcCodec<GetSchemaResponse>
importDatabaseResponseCodec → const RpcCodec<ImportDatabaseResponse>
importProgressCodec → const RpcCodec<ImportProgress>
listCollectionsRequestCodec → const RpcCodec<ListCollectionsRequest>
listCollectionsResponseCodec → const RpcCodec<ListCollectionsResponse>
listRequestCodec → const RpcCodec<ListRecordsRequest>
listResponseCodec → const RpcCodec<ListRecordsResponse>
listSchemasRequestCodec → const RpcCodec<ListSchemasRequest>
listSchemasResponseCodec → const RpcCodec<ListSchemasResponse>
patchResponseCodec → const RpcCodec<PatchRecordResponse>
recordCodec → const RpcCodec<DataRecord>
searchRequestCodec → const RpcCodec<SearchRecordsRequest>
searchResponseCodec → const RpcCodec<SearchRecordsResponse>
setSchemaPolicyRequestCodec → const RpcCodec<SetSchemaPolicyRequest>
setSchemaPolicyResponseCodec → const RpcCodec<SetSchemaPolicyResponse>
updateRequestCodec → const RpcCodec<UpdateRecordRequest>
updateResponseCodec → const RpcCodec<UpdateRecordResponse>
watchRequestCodec → const RpcCodec<WatchChangesRequest>

Properties

patchRequestCodec → RpcCodec<PatchRecordRequest>
final

Functions

decodeRecordPayload(String? payload) DataRecord?
encodeRecordPayload(DataRecord? record) String?
ensureJsonExtractFunction(CommonDatabase database) → void
Ensures that json_extract is available on the provided SQLite database.
openFileDb({SqliteConnectionOptions options = const SqliteConnectionOptions(), bool logStatements = false, SqlCipherKey? sqlCipherKey, SqliteSetupHook? sqliteSetup}) Future<DatabaseConnection>
openInMemoryDb({SqliteConnectionOptions options = const SqliteConnectionOptions(), bool logStatements = false, SqlCipherKey? sqlCipherKey, SqliteSetupHook? sqliteSetup}) Future<DatabaseConnection>
parseCursor(String cursor) int
Simple guard that validates a change cursor string can be interpreted as an integer sequence value. Persistent journals use monotonically increasing integers for ordering, so the helper is shared between implementations.

Typedefs

FromJson<T> = T Function(Map<String, dynamic> json)
SchemaTransformer = Map<String, dynamic> Function(Map<String, dynamic> payload)
SqliteSetupHook = FutureOr<void> Function(CommonDatabase database)
Callback invoked after the adapter finishes its built-in SQLite setup.
SqlStatementObserver = void Function(String sql, List<Object?> arguments)
Callback invoked whenever the adapter executes a SQL statement.
ToJson<T> = Map<String, dynamic> Function(T model)

Exceptions / Errors

ImportResumeException
Thrown on import failures to expose the last applied chunk index for resume.
RpcDataError
Базовый класс для ошибок сервиса данных.
SqlCipherException
SQLCipher-specific exception wrapper with optional underlying cause.