/// 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)'; } }