-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgenerate_gql.rs
34 lines (28 loc) · 1.03 KB
/
generate_gql.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use std::fs;
use crate::read_file;
pub fn main() {
let mut get_featured_players_query =
"query getFeaturedPlayers($slug_event: String!) {".to_owned();
let get_featured_players_contents = r#"
event(slug: $slug_event) {
_{{number}}: entrants(query: { page: 0, filter: { name: "{{entrant-name}}" } }) {
nodes {
name
}
}
}"#;
let get_featured_players_footer = "\n}";
let top_players = read_file("topPlayers.json");
serde_json::from_str::<Vec<String>>(&top_players)
.unwrap()
.iter()
.enumerate()
.for_each(|(index, item)| {
let new_query = get_featured_players_contents
.replace("{{entrant-name}}", item)
.replace("{{number}}", index.to_string().as_str());
get_featured_players_query.push_str(&new_query);
});
get_featured_players_query.push_str(get_featured_players_footer);
fs::write("graphql/getFeaturedPlayers.gql", get_featured_players_query).unwrap();
}