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 tId = argResults!['translation-id'] as String;
final name = argResults!['name'] as String;
final id = argResults?['id'] as String? ?? '';
final formatStr = argResults?['format'] as String? ?? 'text';
final position =
int.tryParse(argResults?['position'] as String? ?? '0') ?? 0;
final customFields =
argResults?['custom-fields'] as List<String>? ?? [];
final format = Variable_Format.values.firstWhere(
(f) => f.name.toLowerCase() == formatStr.toLowerCase(),
orElse: () => Variable_Format.text,
);
final variable = Variable(
translationId: tId,
name: name,
format: format,
position: position,
);
if (id.isNotEmpty) {
variable.id = id;
}
variable.customFields.addAll(customFields);
final client = container.read(variableServiceClientProvider);
final result = await client.upsertVariable(
variable,
options: getCallOptions(requireUser: false),
);
printOutput(result);
return 0;
}