configureFromEnvironment static method

bool configureFromEnvironment({
  1. required Map<String, String> environment,
  2. required DVDatabaseAdapter? database,
  3. required List<DVPrivacyModel> models,
  4. Duration deadline = const Duration(days: 30),
})

Configures DV.Privacy from keyVariable in environment.

Returns false, configuring nothing, when the variable is not set: DV.Privacy then throws naming it. A key that is set and unusable is an error rather than a reason to carry on without one.

Implementation

static bool configureFromEnvironment({
  required Map<String, String> environment,
  required DVDatabaseAdapter? database,
  required List<DVPrivacyModel> models,
  Duration deadline = const Duration(days: 30),
}) {
  final String? raw = environment[keyVariable]?.trim();
  if (raw == null || raw.isEmpty) return false;
  final List<int> key = dvPrivacyKeyFrom(raw);
  if (database == null) {
    throw StateError('$keyVariable is set and this process has no database '
        'for DV.Privacy to walk. Configure DV.Database or DATABASE_URL.');
  }
  configure(
      models: models, database: database, signingKey: key, deadline: deadline);
  return true;
}