main method
Implementation
Future<void> main(List<String> args) async {
Map<String, String> params = HashMap<String, String>();
OnboardingUtil registerUtil = OnboardingUtil();
final argParser = ArgParser()
..addOption('email',
abbr: 'e',
help: 'The email address you would like to assign your atSign to')
..addFlag('help',
abbr: 'h', help: 'Usage instructions', negatable: false);
ArgResults argResults = argParser.parse(args);
if (argResults.wasParsed('help')) {
stderr.writeln(
'[Usage] dart run register.dart -e email@email.com\n[Options]\n${argParser.usage}');
exit(0);
}
if (!argResults.wasParsed('email')) {
stderr.writeln(
'[Unable to run Register CLI] Please enter your email address'
'\n[Usage] dart run register.dart -e email@email.com\n[Options]\n${argParser.usage}');
exit(6);
}
if (registerUtil.validateEmail(argResults['email'])) {
params['email'] = argResults['email'];
} else {
stderr.writeln(
'[Unable to run Register CLI] You have entered an invalid email address. Check your email address and try again.');
exit(7);
}
//set the following parameter to RegisterApiConstants.apiHostStaging
//to use the staging environment
params['authority'] = RegistrarApiConstants.apiHostProd;
//create stream of tasks each of type [RegisterApiTask] and then
// call start on the stream of tasks
await RegistrationFlow(params, registerUtil)
.add(GetFreeAtsign())
.add(RegisterAtsign())
.add(ValidateOtp())
.start();
await activate_cli
.main(['-a', params['atsign']!, '-c', params['cramkey']!]);
}