Files
friflex_flutter_starter/lib/app/app_config/app_config.dart

60 lines
1.5 KiB
Dart
Raw Normal View History

2025-01-21 14:24:31 +03:00
import 'package:envied/envied.dart';
import 'package:friflex_starter/app/app_config/i_app_config.dart';
import 'package:friflex_starter/app/app_env.dart';
part 'app_config.g.dart';
/// Класс для реализации конфигурации с моковыми данными
@Envied(name: 'Dev', path: 'env/dev.env')
class AppConfigDev implements IAppConfig {
@override
AppEnv get env => AppEnv.dev;
@override
String get name => 'AppConfigDev';
@override
@EnviedField()
final String baseUrl = _Dev.baseUrl;
@override
@EnviedField(obfuscate: true)
final String secretKey = _Dev.secretKey;
}
/// Класс для реализации конфигурации с продакшн данными
@Envied(name: 'Prod', path: 'env/prod.env')
class AppConfigProd implements IAppConfig {
@override
AppEnv get env => AppEnv.prod;
@override
String get name => 'AppConfigProd';
@override
@EnviedField(obfuscate: true)
final String baseUrl = _Prod.baseUrl;
@override
@EnviedField(obfuscate: true)
final String secretKey = _Prod.secretKey;
}
/// Класс для реализации конфигурации с стейдж данными
@Envied(name: 'Stage', path: 'env/stage.env')
class AppConfigStage implements IAppConfig {
@override
AppEnv get env => AppEnv.stage;
@override
String get name => 'AppConfigStage';
@override
@EnviedField(obfuscate: true)
final String baseUrl = _Stage.baseUrl;
@override
@EnviedField(obfuscate: true)
final String secretKey = _Stage.secretKey;
}