Files
swift-hpa/Sources/hpa/VaultCommands/EncryptCommand.swift

35 lines
788 B
Swift

import ArgumentParser
import CliClient
import Dependencies
struct EncryptCommand: AsyncParsableCommand {
static let commandName = "encrypt"
static let configuration = CommandConfiguration(
commandName: commandName,
abstract: createAbstract("Encrypt a vault file.")
)
@OptionGroup var options: VaultOptions
@Option(
name: .shortAndLong,
help: "Output file."
)
var output: String?
mutating func run() async throws {
@Dependency(\.cliClient) var cliClient
var args = ["encrypt"]
if let output {
args.append(contentsOf: ["--output", output])
}
try await cliClient.runVaultCommand(
options.vaultOptions(arguments: args, configuration: nil),
logging: options.loggingOptions(commandName: Self.commandName)
)
}
}