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