S3Config.fromEnvironment constructor

S3Config.fromEnvironment(
  1. Map<String, String> env
)

Implementation

factory S3Config.fromEnvironment(Map<String, String> env) {
  String required(String key) {
    final value = env[key]?.trim();
    if (value == null || value.isEmpty) {
      throw ArgumentError(
        'Missing required S3 environment variable: $key',
      );
    }
    return value;
  }

  final token = env['AWS_SESSION_TOKEN']?.trim();
  return S3Config(
    bucket: required('UNPUBER_S3_BUCKET'),
    region: required('AWS_REGION'),
    accessKey: required('AWS_ACCESS_KEY_ID'),
    secretKey: required('AWS_SECRET_ACCESS_KEY'),
    sessionToken: token == null || token.isEmpty ? null : token,
  );
}