From 54cae48123bb683a25f7f4c67fdde763699cccb9 Mon Sep 17 00:00:00 2001
From: Awiteb
Date: Sat, 14 Jun 2025 10:46:55 +0000
Subject: [PATCH] chroe: Check if the naddrs exists for `issue new` and `patch
send`
Signed-off-by: Awiteb
---
src/cli/commands/issue/new.rs | 4 ++--
src/cli/commands/patch/send.rs | 5 +++--
src/nostr_utils/utils.rs | 9 +++++++++
3 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/cli/commands/issue/new.rs b/src/cli/commands/issue/new.rs
index ce69856..827189d 100644
--- a/src/cli/commands/issue/new.rs
+++ b/src/cli/commands/issue/new.rs
@@ -95,10 +95,10 @@ impl NewArgs {
impl CommandRunner for NewArgs {
async fn run(self, options: CliOptions) -> N34Result<()> {
- let naddrs = utils::naddrs_or_file(
+ let naddrs = utils::check_empty_naddrs(utils::naddrs_or_file(
self.naddrs.flat_naddrs(&options.config.sets)?,
&utils::nostr_address_path()?,
- )?;
+ )?)?;
let relays = options.relays.clone().flat_relays(&options.config.sets)?;
let client = NostrClient::init(&options, &relays).await;
let user_pubk = options.pubkey().await?;
diff --git a/src/cli/commands/patch/send.rs b/src/cli/commands/patch/send.rs
index 015a8e4..978c979 100644
--- a/src/cli/commands/patch/send.rs
+++ b/src/cli/commands/patch/send.rs
@@ -71,10 +71,11 @@ pub struct SendArgs {
impl CommandRunner for SendArgs {
async fn run(self, options: CliOptions) -> N34Result<()> {
- let naddrs = utils::naddrs_or_file(
+ let naddrs = utils::check_empty_naddrs(utils::naddrs_or_file(
self.naddrs.flat_naddrs(&options.config.sets)?,
&utils::nostr_address_path()?,
- )?;
+ )?)?;
+
let repo_coordinates = naddrs.clone().into_coordinates();
let relays = options.relays.clone().flat_relays(&options.config.sets)?;
let user_pubk = options.pubkey().await?;
diff --git a/src/nostr_utils/utils.rs b/src/nostr_utils/utils.rs
index f8b2717..2939525 100644
--- a/src/nostr_utils/utils.rs
+++ b/src/nostr_utils/utils.rs
@@ -282,3 +282,12 @@ pub fn smart_wrap(text: &str, max_width: usize) -> String {
.collect::>()
.join("\n")
}
+
+/// Returns an error if the given naddrs is empty otherwise returned it
+pub fn check_empty_naddrs(naddrs: Vec) -> N34Result> {
+ if naddrs.is_empty() {
+ return Err(N34Error::EmptyNaddrs);
+ }
+
+ Ok(naddrs)
+}