run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
Future<int> run() async {
final name = argResults!['name'] as String;
final id = argResults?['id'] as String? ?? '';
final description = argResults?['description'] as String? ?? '';
var userId = argResults?['user-id'] as String? ?? '';
if (userId.isEmpty) {
final userClient = container.read(userServiceClientProvider);
final currentUser = await userClient.getCurrentUser(
Empty(),
options: getCallOptions(),
);
userId = currentUser.id;
}
final group = Group(
name: name,
description: description,
userId: userId,
);
if (id.isNotEmpty) {
group.id = id;
}
final client = container.read(groupServiceClientProvider);
final result = await client.upsertGroup(
group,
options: getCallOptions(),
);
printOutput(result);
return 0;
}