summaryrefslogtreecommitdiff
path: root/main.c3
diff options
context:
space:
mode:
authorandromeda <andromeda@lenovo>2026-05-10 22:03:14 +0200
committerandromeda <andromeda@lenovo>2026-05-10 22:03:14 +0200
commit2253eb52841f30c51c88c51f65a2ecc77518f14e (patch)
tree8ef0225183c647097d41ffd30bd76ab7bcbc1838 /main.c3
parent735f0ff00859d9dda5e93be401c609653e1467a8 (diff)
partial api compatHEADmaster
Diffstat (limited to 'main.c3')
-rw-r--r--main.c328
1 files changed, 13 insertions, 15 deletions
diff --git a/main.c3 b/main.c3
index 1a09cc5..a0da4a1 100644
--- a/main.c3
+++ b/main.c3
@@ -21,6 +21,8 @@ module radgen;
import std::io;
import std::encoding::json;
import std::collections::object;
+import std::collections::pair;
+import std::math::random;
import curl;
import radapi;
@@ -30,22 +32,18 @@ fn int main(String[] args)
{
Client* c = radapi::new_client(url);
- c.request(Request.REPO_ROOT, "?show=all&perPage=16384&page=0");
-
- Object* j = json::tparse(c.response())!!;
-
- int i = 0;
- while (i < j.array.len())
+ Node n = c.request(Request.NODE, "", {}).node;
+ io::printn(n.id);
+ Rid[] rds = c.request(Request.NODES_INVENTORY, "?perPage=100000000&show=all", {.nid = n.id}).nodes_inventory;
+ while (true)
{
- io::print(j.get_at(i).get_string("rid"))!!;
- io::print(" ");
- io::printn(j.get_at(i).get("payloads").get("xyz.radicle.project").get("data").get_string("name"))!!;
- i++;
+ int j = rand(rds.len);
+ io::printn(rds[j]);
+ Commit[] cs = c.request(Request.HISTORY, "", {.rid = rds[j]}).history;
+ int i = rand(cs.len);
+ io::printn(cs[i].id);
+ CommitFull cf = c.request(Request.COMMIT, "", {.rid = rds[j], .sha = cs[i].id}).commit;
+ io::printn(cf);
}
-
- c.request(Request.REPO, "", j.get_at(0).get_string("rid"))!!;
-
- io::printn((String)c.buffer.[..c.buffer_index]);
-
return 0;
}