/* * * Copyright (C) 2026 Andromeda * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ module radgen; import std::io; import std::encoding::json; import std::collections::object; import curl; import radapi; String url = "https://iris.radicle.network/api/v1"; 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()) { 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++; } c.request(Request.REPO, "", j.get_at(0).get_string("rid"))!!; io::printn((String)c.buffer.[..c.buffer_index]); return 0; }