load method
Implementation
Future<void> load() async {
MeshErrorReporter.instance.log(
'loading auth settings',
category: 'auth.settings.load',
metadata: <String, String>{
if (_config.appset?.isNotEmpty ?? false) 'appset': _config.appset!,
},
);
state = state.copyWith(
loading: true,
error: null,
settings: null,
appset: _config.appset,
);
try {
final devops = Proxy.mpi<Devops>();
final settings = await devops.settings();
final appset = _config.appset ?? 'mesh';
final setting = settings?[appset];
if (null == setting) {
throw StateError('auth settings not found');
}
state = state
.copyWith(
loading: false,
error: null,
settings: setting,
appset: appset,
)
.resolved();
MeshErrorReporter.instance.log(
'loaded auth settings',
category: 'auth.settings.load',
metadata: <String, String>{
'appset': appset,
'authMode': state.authMode.name,
'accountProvider': state.accountProvider.name,
if (state.scanProvider != null)
'scanProvider': state.scanProvider!.name,
},
);
} catch (error, stackTrace) {
await MeshErrorReporter.instance.report(
error,
stackTrace,
category: 'auth.settings.load',
metadata: <String, String>{
if (_config.appset?.isNotEmpty ?? false) 'appset': _config.appset!,
},
);
state = state.copyWith(loading: false, error: error);
}
}