feat: Adds output values to some of the commands to allow them to be piped into other commands

This commit is contained in:
2024-12-16 12:28:38 -05:00
parent 1302b15ee2
commit 1429c51821
11 changed files with 112 additions and 64 deletions

View File

@@ -68,6 +68,7 @@ struct CreateCommand: AsyncParsableCommand {
template: .init(directory: templateDir),
useLocalTemplateDirectory: localTemplateDir
))
print(projectDir)
}
}

View File

@@ -42,7 +42,7 @@ struct GenerateProjectTemplateCommand: AsyncParsableCommand {
mutating func run() async throws {
@Dependency(\.playbookClient) var playbookClient
try await playbookClient.run.generateTemplate(.init(
let output = try await playbookClient.run.generateTemplate(.init(
shared: globals.sharedPlaybookRunOptions(
commandName: Self.commandName,
extraOptions: extraOptions
@@ -51,5 +51,7 @@ struct GenerateProjectTemplateCommand: AsyncParsableCommand {
templateVarsDirectory: templateVars,
useVault: !noVault
))
print(output)
}
}

View File

@@ -23,10 +23,11 @@ struct DecryptCommand: AsyncParsableCommand {
mutating func run() async throws {
@Dependency(\.vaultClient) var vaultClient
try await vaultClient.run(options.runOptions(
let output = try await vaultClient.run.decrypt(options.runOptions(
commandName: Self.commandName,
route: .decrypt,
outputFilePath: output
))
print(output)
}
}

View File

@@ -23,10 +23,11 @@ struct EncryptCommand: AsyncParsableCommand {
mutating func run() async throws {
@Dependency(\.vaultClient) var vaultClient
try await vaultClient.run(options.runOptions(
let output = try await vaultClient.run.encrypt(options.runOptions(
commandName: Self.commandName,
route: .encrypt,
outputFilePath: output
))
print(output)
}
}

View File

@@ -42,11 +42,9 @@ extension VaultOptions {
func runOptions(
commandName: String,
route: VaultClient.RunOptions.Route,
outputFilePath: String? = nil
) -> VaultClient.RunOptions {
.init(
route,
extraOptions: extraOptions,
loggingOptions: .init(
commandName: commandName,