resolveGeneratorTenantId function
String
resolveGeneratorTenantId(
- WhiteLabelConfig config, {
- String? explicitTenantId,
- Map<
String, String> ? environment,
Resolves which tenant a generate run is for: explicitTenantId (the
CLI's --tenant flag) wins if given; otherwise the TENANT_ID
environment variable (same variable name this ecosystem's apps already
use for String.fromEnvironment('TENANT_ID', ...) in the compiled app
itself — set by whatever build script invokes generate, e.g.
tool/build_runner.dart's regenerateWhiteLabelG); otherwise
default_tenant, so a plain dart run white_label_kit:generate with no
flag/environment variable still works during day-to-day development.
Implementation
String resolveGeneratorTenantId(
WhiteLabelConfig config, {
String? explicitTenantId,
Map<String, String>? environment,
}) {
if (explicitTenantId != null) {
if (config.has(explicitTenantId)) {
return explicitTenantId;
}
throw ArgumentError.value(
explicitTenantId,
'explicitTenantId',
'No such tenant in white_label.yaml',
);
}
final Map<String, String> env = environment ?? Platform.environment;
final String? envTenantId = env['TENANT_ID'];
if (envTenantId != null && config.has(envTenantId)) {
return envTenantId;
}
return config.defaultTenant;
}