Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
node: Implement private repos
cloudhead committed 2 years ago
commit d565a039e4e09c35b4f874e8c2fb77be46d023f9
parent e9da55c8a7583ec5f14c92ba05f9e9aecaa59ec0
4 files changed +16 -5
modified radicle-httpd/src/api/v1/delegates.rs
@@ -37,7 +37,7 @@ async fn delegates_projects_handler(
    let storage = &ctx.profile.storage;
    let routing = &ctx.profile.routing()?;
    let projects = storage
-
        .repositories()?
+
        .inventory()?
        .into_iter()
        .filter_map(|id| {
            let Ok(repo) = storage.repository(id) else { return None };
modified radicle-httpd/src/api/v1/projects.rs
@@ -81,7 +81,7 @@ async fn project_root_handler(
    let storage = &ctx.profile.storage;
    let routing = &ctx.profile.routing()?;
    let projects = storage
-
        .repositories()?
+
        .inventory()?
        .into_iter()
        .filter_map(|id| {
            let Ok(repo) = storage.repository(id) else { return None };
modified radicle-httpd/src/api/v1/stats.rs
@@ -2,6 +2,7 @@ use axum::extract::State;
use axum::response::IntoResponse;
use axum::routing::get;
use axum::{Json, Router};
+
use radicle::storage::ReadStorage as _;
use serde_json::json;

use crate::api::error::Error;
@@ -17,7 +18,7 @@ pub fn router(ctx: Context) -> Router {
/// `GET /stats`
async fn stats_handler(State(ctx): State<Context>) -> impl IntoResponse {
    let storage = &ctx.profile.storage;
-
    let projects = storage.repositories()?.len();
+
    let projects = storage.inventory()?.len();

    Ok::<_, Error>(Json(
        json!({ "projects": { "count": projects }, "users": { "count": 0 } }),
modified radicle-httpd/src/test.rs
@@ -16,6 +16,7 @@ use radicle::crypto::ssh::keystore::MemorySigner;
use radicle::crypto::ssh::Keystore;
use radicle::crypto::{KeyPair, Seed, Signer};
use radicle::git::{raw as git2, RefString};
+
use radicle::identity::Visibility;
use radicle::node;
use radicle::node::address as AddressStore;
use radicle::node::routing as RoutingStore;
@@ -175,8 +176,17 @@ fn seed_with_signer<G: Signer>(dir: &Path, profile: radicle::Profile, signer: &G
    let name = "hello-world".to_string();
    let description = "Rad repository for tests".to_string();
    let branch = RefString::try_from("master").unwrap();
-
    let (id, _, _) =
-
        radicle::rad::init(&repo, &name, &description, branch, signer, &profile.storage).unwrap();
+
    let visibility = Visibility::default();
+
    let (id, _, _) = radicle::rad::init(
+
        &repo,
+
        &name,
+
        &description,
+
        branch,
+
        visibility,
+
        signer,
+
        &profile.storage,
+
    )
+
    .unwrap();

    let storage = &profile.storage;
    let repo = storage.repository(id).unwrap();