rain_metadata/cli/subgraph/
mod.rs1use clap::{Subcommand, Parser};
2use crate::subgraph::KnownSubgraphs;
3
4#[derive(Subcommand, strum::Display)]
6pub enum Sg {
7 All,
9 NativeParser,
11 Legacy,
13 Chain(Chain),
15}
16
17#[derive(Parser)]
18pub struct Chain {
19 id: u64,
21}
22
23pub fn dispatch(sg: Sg) -> anyhow::Result<()> {
24 match sg {
25 Sg::All => {
26 for url in KnownSubgraphs::ALL.iter() {
27 println!("{url}")
28 }
29 }
30 Sg::NativeParser => {
31 for url in KnownSubgraphs::NP.iter() {
32 println!("{url}")
33 }
34 }
35 Sg::Legacy => {
36 for url in KnownSubgraphs::LEGACY.iter() {
37 println!("{url}")
38 }
39 }
40 Sg::Chain(chain_id) => {
41 for url in KnownSubgraphs::of_chain(chain_id.id)?.iter() {
42 println!("{url}")
43 }
44 }
45 };
46 Ok(())
47}