upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/lib/git_events.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/git_events.rs')
-rw-r--r--src/lib/git_events.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/lib/git_events.rs b/src/lib/git_events.rs
index 8689b33..2e9f797 100644
--- a/src/lib/git_events.rs
+++ b/src/lib/git_events.rs
@@ -3,7 +3,7 @@ use std::str::FromStr;
3use anyhow::{bail, Context, Result}; 3use anyhow::{bail, Context, Result};
4use nostr::nips::{nip01::Coordinate, nip10::Marker, nip19::Nip19}; 4use nostr::nips::{nip01::Coordinate, nip10::Marker, nip19::Nip19};
5use nostr_sdk::{ 5use nostr_sdk::{
6 hashes::sha1::Hash as Sha1Hash, Event, EventBuilder, FromBech32, Kind, Tag, TagKind, 6 hashes::sha1::Hash as Sha1Hash, Event, EventBuilder, EventId, FromBech32, Kind, Tag, TagKind,
7 TagStandard, UncheckedUrl, 7 TagStandard, UncheckedUrl,
8}; 8};
9use nostr_signer::NostrSigner; 9use nostr_signer::NostrSigner;
@@ -37,6 +37,19 @@ pub fn get_commit_id_from_patch(event: &Event) -> Result<String> {
37 } 37 }
38} 38}
39 39
40pub fn get_event_root(event: &nostr::Event) -> Result<EventId> {
41 Ok(EventId::parse(
42 event
43 .tags()
44 .iter()
45 .find(|t| t.is_root())
46 .context("no thread root in event")?
47 .as_vec()
48 .get(1)
49 .unwrap(),
50 )?)
51}
52
40pub fn status_kinds() -> Vec<Kind> { 53pub fn status_kinds() -> Vec<Kind> {
41 vec![ 54 vec![
42 Kind::GitStatusOpen, 55 Kind::GitStatusOpen,