Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Remove need to pass public key in cob store
Alexis Sellier committed 3 years ago
commit 346737e3f884056e0dee365ccf9ba9279ad7e924
parent 970abf96b9429bd7e9fbfee650b87b1f55a5afdd
4 files changed +15 -16
modified radicle-httpd/src/api.rs
@@ -51,8 +51,8 @@ impl Context {
        let doc = repo.identity_doc()?.1.verified()?;
        let payload = doc.project()?;
        let delegates = doc.delegates;
-
        let issues = Issues::open(self.profile.public_key, &repo)?.counts()?;
-
        let patches = Patches::open(self.profile.public_key, &repo)?.counts()?;
+
        let issues = Issues::open(&repo)?.counts()?;
+
        let patches = Patches::open(&repo)?.counts()?;

        Ok(project::Info {
            payload,
modified radicle-httpd/src/api/v1/delegates.rs
@@ -49,9 +49,9 @@ async fn delegates_projects_handler(
                return None;
            }

-
            let Ok(issues) = Issues::open(ctx.profile.public_key, &repo) else { return None };
+
            let Ok(issues) = Issues::open(&repo) else { return None };
            let Ok(issues) = issues.counts() else { return None };
-
            let Ok(patches) = Patches::open(ctx.profile.public_key, &repo) else { return None };
+
            let Ok(patches) = Patches::open(&repo) else { return None };
            let Ok(patches) = patches.counts() else { return None };

            Some(Info {
modified radicle-httpd/src/api/v1/projects.rs
@@ -83,9 +83,9 @@ async fn project_root_handler(
            let Ok((_, doc)) = repo.identity_doc() else { return None };
            let Ok(doc) = doc.verified() else { return None };
            let Ok(payload) = doc.project() else { return None };
-
            let Ok(issues) = issue::Issues::open(ctx.profile.public_key, &repo) else { return None };
+
            let Ok(issues) = issue::Issues::open(&repo) else { return None };
            let Ok(issues) = issues.counts() else { return None };
-
            let Ok(patches) = patch::Patches::open(ctx.profile.public_key, &repo) else { return None };
+
            let Ok(patches) = patch::Patches::open(&repo) else { return None };
            let Ok(patches) = patches.counts() else { return None };
            let delegates = doc.delegates;

@@ -395,7 +395,7 @@ async fn issues_handler(
    let per_page = per_page.unwrap_or(10);
    let storage = &ctx.profile.storage;
    let repo = storage.repository(project)?;
-
    let issues = issue::Issues::open(ctx.profile.public_key, &repo)?;
+
    let issues = issue::Issues::open(&repo)?;
    let mut issues: Vec<_> = issues.all()?.filter_map(|r| r.ok()).collect::<Vec<_>>();
    issues.sort_by(|(_, a, _), (_, b, _)| b.timestamp().cmp(&a.timestamp()));
    let issues = issues
@@ -432,7 +432,7 @@ async fn issue_create_handler(
        .signer()
        .map_err(|_| Error::Auth("Unauthorized"))?;
    let repo = storage.repository(project)?;
-
    let mut issues = issue::Issues::open(ctx.profile.public_key, &repo)?;
+
    let mut issues = issue::Issues::open(&repo)?;
    let issue = issues
        .create(
            issue.title,
@@ -466,7 +466,7 @@ async fn issue_update_handler(
    let storage = &ctx.profile.storage;
    let signer = ctx.profile.signer().unwrap();
    let repo = storage.repository(project)?;
-
    let mut issues = issue::Issues::open(ctx.profile.public_key, &repo)?;
+
    let mut issues = issue::Issues::open(&repo)?;
    let mut issue = issues.get_mut(&issue_id.into())?;

    match action {
@@ -514,7 +514,7 @@ async fn issue_handler(
) -> impl IntoResponse {
    let storage = &ctx.profile.storage;
    let repo = storage.repository(project)?;
-
    let issue = issue::Issues::open(ctx.profile.public_key, &repo)?
+
    let issue = issue::Issues::open(&repo)?
        .get(&issue_id.into())?
        .ok_or(Error::NotFound)?;

@@ -549,7 +549,7 @@ async fn patch_create_handler(
        .signer()
        .map_err(|_| Error::Auth("Unauthorized"))?;
    let repo = storage.repository(project)?;
-
    let mut patches = patch::Patches::open(ctx.profile.public_key, &repo)?;
+
    let mut patches = patch::Patches::open(&repo)?;
    let base_oid = repo.raw().merge_base(*patch.target, *patch.oid)?;

    let patch = patches
@@ -582,7 +582,7 @@ async fn patches_handler(
    let per_page = per_page.unwrap_or(10);
    let storage = &ctx.profile.storage;
    let repo = storage.repository(project)?;
-
    let patches = patch::Patches::open(ctx.profile.public_key, &repo)?;
+
    let patches = patch::Patches::open(&repo)?;
    let mut patches = patches.all()?.filter_map(|r| r.ok()).collect::<Vec<_>>();
    patches.sort_by(|(_, a, _), (_, b, _)| b.timestamp().cmp(&a.timestamp()));
    let patches = patches
@@ -603,7 +603,7 @@ async fn patch_handler(
) -> impl IntoResponse {
    let storage = &ctx.profile.storage;
    let repo = storage.repository(project)?;
-
    let patch = patch::Patches::open(ctx.profile.public_key, &repo)?
+
    let patch = patch::Patches::open(&repo)?
        .get(&patch_id.into())?
        .ok_or(Error::NotFound)?;

modified radicle-httpd/src/test.rs
@@ -17,7 +17,6 @@ use radicle::git::raw as git2;
use radicle::storage::ReadStorage;
use radicle_cli::commands::rad_init;
use radicle_crypto::ssh::keystore::MemorySigner;
-
use radicle_crypto::Signer;

use crate::api::{auth, Context};

@@ -110,7 +109,7 @@ pub fn seed(dir: &Path) -> Context {
    let storage = &profile.storage;
    let (_, id) = radicle::rad::repo(&workdir).unwrap();
    let repo = storage.repository(id).unwrap();
-
    let mut issues = Issues::open(*signer.public_key(), &repo).unwrap();
+
    let mut issues = Issues::open(&repo).unwrap();
    issues
        .create(
            "Issue #1".to_string(),
@@ -122,7 +121,7 @@ pub fn seed(dir: &Path) -> Context {
        .unwrap();

    // eq. rad patch open
-
    let mut patches = Patches::open(*signer.public_key(), &repo).unwrap();
+
    let mut patches = Patches::open(&repo).unwrap();
    let oid = radicle::git::Oid::from_str(HEAD).unwrap();
    let base = radicle::git::Oid::from_str(HEAD_1).unwrap();
    patches