You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
2.2 KiB

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

Powered by TurnKey Linux.