Phase 7 - Added Firebase layer
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
/// Configuration for Firebase services.
|
||||
///
|
||||
/// This model holds Firebase configuration options and feature flags
|
||||
/// to enable/disable specific Firebase services.
|
||||
class FirebaseConfig {
|
||||
/// Whether Firebase is enabled (all services disabled if false).
|
||||
final bool enabled;
|
||||
|
||||
/// Whether Firestore cloud sync is enabled.
|
||||
final bool firestoreEnabled;
|
||||
|
||||
/// Whether Firebase Storage is enabled.
|
||||
final bool storageEnabled;
|
||||
|
||||
/// Whether Firebase Authentication is enabled.
|
||||
final bool authEnabled;
|
||||
|
||||
/// Whether Firebase Cloud Messaging (push notifications) is enabled.
|
||||
final bool messagingEnabled;
|
||||
|
||||
/// Whether Firebase Analytics is enabled.
|
||||
final bool analyticsEnabled;
|
||||
|
||||
/// Creates a [FirebaseConfig] instance.
|
||||
///
|
||||
/// [enabled] - Whether Firebase is enabled (default: false).
|
||||
/// [firestoreEnabled] - Whether Firestore is enabled (default: true if enabled).
|
||||
/// [storageEnabled] - Whether Storage is enabled (default: true if enabled).
|
||||
/// [authEnabled] - Whether Auth is enabled (default: true if enabled).
|
||||
/// [messagingEnabled] - Whether Messaging is enabled (default: true if enabled).
|
||||
/// [analyticsEnabled] - Whether Analytics is enabled (default: true if enabled).
|
||||
const FirebaseConfig({
|
||||
this.enabled = false,
|
||||
this.firestoreEnabled = true,
|
||||
this.storageEnabled = true,
|
||||
this.authEnabled = true,
|
||||
this.messagingEnabled = true,
|
||||
this.analyticsEnabled = true,
|
||||
});
|
||||
|
||||
/// Creates a [FirebaseConfig] with all services disabled.
|
||||
const FirebaseConfig.disabled()
|
||||
: enabled = false,
|
||||
firestoreEnabled = false,
|
||||
storageEnabled = false,
|
||||
authEnabled = false,
|
||||
messagingEnabled = false,
|
||||
analyticsEnabled = false;
|
||||
|
||||
/// Creates a [FirebaseConfig] with all services enabled.
|
||||
const FirebaseConfig.enabled()
|
||||
: enabled = true,
|
||||
firestoreEnabled = true,
|
||||
storageEnabled = true,
|
||||
authEnabled = true,
|
||||
messagingEnabled = true,
|
||||
analyticsEnabled = true;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'FirebaseConfig(enabled: $enabled, firestore: $firestoreEnabled, '
|
||||
'storage: $storageEnabled, auth: $authEnabled, messaging: $messagingEnabled, '
|
||||
'analytics: $analyticsEnabled)';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user