calljmp library
The Calljmp Flutter SDK provides secure backend-as-a-service capabilities for mobile developers.
This SDK offers:
- Authentication via App Attestation (iOS) and Play Integrity (Android)
- Full SQLite database access with no restrictions
- Real-time database subscriptions and custom pub/sub messaging
- Dynamic permissions for users and roles
- Seamless Flutter integration
Getting Started
import 'package:calljmp/calljmp.dart';
final calljmp = Calljmp();
// Type-safe database operations
final users = await calljmp.database.query(
sql: 'SELECT * FROM users WHERE age > ?',
params: [21],
);
// Real-time database subscriptions
final subscription = await calljmp.database.observe<User>('users.insert')
.onInsert((event) {
print('New users: ${event.rows}');
})
.filter(DatabaseGtFilter('age', 18))
.subscribe();
// Real-time pub/sub messaging
final rtSubscription = await calljmp.realtime.observe<Message>('chat.room1')
.onData((event) {
print('Message: ${event.data}');
})
.filter(RealtimeEqFilter('room_id', 'room123'))
.subscribe();
For more information, visit calljmp.com
Classes
- AccessToken
- Represents a parsed and validated access token (JWT) for API authentication.
- Auth
- Provides authentication challenge and state clearing methods.
- Bucket
- Represents a storage bucket in the Calljmp system.
- BucketFile
- Represents a file stored in a bucket.
- Calljmp
- The main Calljmp client that provides access to all SDK functionality.
- Config
- SDK configuration options for Calljmp Flutter SDK.
- Database
- Provides direct SQLite database access with no restrictions.
- DatabaseAndFilter
- Logical AND filter
- DatabaseDeleteEventData
- Database delete event data
- DatabaseEqFilter
- Equality filter
- DatabaseFilter
- Database filter conditions
- DatabaseGteFilter
- Greater than or equal filter
- DatabaseGtFilter
- Greater than filter
- DatabaseInFilter
- In filter for multiple values
-
DatabaseInsertEventData<
T> - Database insert event data
- DatabaseLikeFilter
- Like filter for pattern matching
- DatabaseLteFilter
- Less than or equal filter
- DatabaseLtFilter
- Less than filter
- DatabaseNeFilter
- Not equal filter
- DatabaseNotFilter
- NOT filter
- DatabaseOrFilter
- Logical OR filter
- DatabaseSubscription
- Database subscription interface
-
DatabaseSubscriptionOptions<
T> - Database subscription options with type safety
-
DatabaseUpdateEventData<
T> - Database update event data
- Provides email-based authentication methods for users.
- Integrity
- Manages device integrity verification and access token lifecycle.
- Project
- Provides project configuration and management functionality.
- Provider
- Realtime
- Main Realtime class for pub/sub messaging
- RealtimeAndFilter
- Logical AND filter
-
RealtimeDataEvent<
T> - Data event containing payload
- RealtimeEqFilter
- Equality filter
- RealtimeErrorEvent
- Error event
-
RealtimeEventHandler<
T> - Type-safe event handler interface
- RealtimeExistsFilter
- Exists filter (checks if field exists)
- RealtimeFilter
- Filter conditions for realtime subscriptions
- RealtimeGteFilter
- Greater than or equal filter
- RealtimeGtFilter
- Greater than filter
- RealtimeIlikeFilter
- Case-insensitive like filter for pattern matching
- RealtimeInFilter
- In filter for multiple values
- RealtimeLikeFilter
- Case-sensitive like filter for pattern matching
- RealtimeLteFilter
- Less than or equal filter
- RealtimeLtFilter
- Less than filter
- RealtimeNeFilter
- Not equal filter
- RealtimeNotFilter
- NOT filter
-
RealtimeObserver<
T> - Observer for setting up real-time subscriptions with type safety
- RealtimeOrFilter
- Logical OR filter
- RealtimeRegexFilter
- Regular expression filter
- RealtimeSubscription
- Real-time subscription interface
-
RealtimeSubscriptionConfig<
T> - Type-safe subscription configuration
-
RealtimeSubscriptionOptions<
T> - Subscription options with type safety
- Service
- Provides access to custom service endpoints.
- Signal
- Main Signal class for WebSocket-based real-time communication
- SignalDatabaseDelete
- Database delete message
- SignalDatabaseInsert
- Database insert message
- SignalDatabaseMessage
- Base class for database-specific data messages
- SignalDatabaseSubscribe
- Database subscribe message
- SignalDatabaseUnsubscribe
- Database unsubscribe message
- SignalDatabaseUpdate
- Database update message
- SignalLock
- Signal lock for managing component-specific connections
- SignalMessage
- Base class for all signal messages
- SignalMessageAck
- Acknowledgment message
- SignalMessageData
- Data message
- SignalMessageError
- Error message
- SignalMessagePing
- Ping message
- SignalMessagePong
- Pong message
- SignalMessagePublish
- Publish message
- SignalMessageSubscribe
- Subscribe message
- SignalMessageUnsubscribe
- Unsubscribe message
- SignalResult
- Result returned by signal message handlers
- SignalResultOptions
- Signal result options for controlling handler behavior
- Storage
- Provides file storage and management functionality.
- User
- Represents a user in the Calljmp system.
- Users
- Provides user management and authentication functionality.
Enums
- DatabaseSubscriptionEvent
- Database subscription event types
- RealtimeObserverEvent
- Event types for realtime observers
- ServiceErrorCode
- Enumeration of service error codes used throughout the Calljmp SDK.
- SignalDatabaseEventType
- SignalErrorCode
- SignalMessageType
- UserAuthenticationPolicy
- Enum representing authentication policy for user creation/sign-in.
- UserAuthenticationProvider
- Enum representing supported email authentication providers.
Extension Types
- DatabaseObservePath
- Path-based type inference for database observers
Functions
-
createSignal(
Config config) → Signal - Create a Signal instance with proper configuration
-
databaseFilterToJson(
DatabaseFilter filter) → Map< String, dynamic> - Convert filter to JSON map
-
filterToJson(
RealtimeFilter filter) → Map< String, dynamic> - Convert filter to JSON map
-
parseSignalMessage(
Map< String, dynamic> json) → SignalMessage? - Helper function to parse signal messages from JSON
Typedefs
- AndroidConfig = ({int? cloudProjectNumber})
- Android-specific configuration options.
-
DatabaseDeleteHandler
= FutureOr<
void> Function(DatabaseDeleteEventData event) -
DatabaseInsertHandler<
T> = FutureOr< void> Function(DatabaseInsertEventData<T> event) - Type-safe event handlers for database operations
-
DatabaseRow
= Map<
String, dynamic> - Database row type
- DatabaseRowId = int
- Database row ID type
- DatabaseTable = String
- Database table name
-
DatabaseUpdateHandler<
T> = FutureOr< void> Function(DatabaseUpdateEventData<T> event) - DevelopmentConfig = ({String? apiToken, String? baseUrl, bool? enabled})
- Development environment configuration.
-
RealtimeDataHandler<
T> = FutureOr< void> Function(RealtimeDataEvent<T> event) - Handler for realtime data events
-
RealtimeErrorHandler
= FutureOr<
void> Function(RealtimeErrorEvent event) - Handler for realtime error events
- RealtimeTopic = String
- Topic for real-time messaging
- ServiceConfig = ({String? baseUrl})
- Configuration for custom service endpoints.
- SignalDatabaseRowId = int
- SignalDatabaseTopic = String
- Database-specific messages
-
SignalMessageHandler<
T extends SignalMessage> = Future< SignalResult?> Function(T message) - Handler for signal messages
Exceptions / Errors
- ServiceError
- Exception class for service-related errors in the Calljmp SDK.