Skip to main content

rusticity_term/apig/
mod.rs

1pub mod api;
2pub mod resource;
3pub mod route;
4use ratatui::style::Color;
5use std::collections::HashMap;
6
7pub fn init(i18n: &mut HashMap<String, String>) {
8    api::init(i18n);
9}
10
11pub fn format_status(status: &str) -> (String, Color) {
12    match status.to_uppercase().as_str() {
13        "AVAILABLE" => ("✅ Available".to_string(), Color::Green),
14        _ => (status.to_string(), Color::White),
15    }
16}
17
18pub fn console_url_apis(region: &str) -> String {
19    format!(
20        "https://{}.console.aws.amazon.com/apigateway/main/apis?region={}",
21        region, region
22    )
23}
24
25pub fn console_url_api(region: &str, api_id: &str) -> String {
26    format!(
27        "https://{}.console.aws.amazon.com/apigateway/main/api-detail?api={}&region={}",
28        region, api_id, region
29    )
30}
31
32pub fn console_url_resources(region: &str, api_id: &str, resource_id: Option<&str>) -> String {
33    let mut url = format!(
34        "https://{}.console.aws.amazon.com/apigateway/main/apis/{}/resources?api={}&region={}",
35        region, api_id, api_id, region
36    );
37    if let Some(rid) = resource_id {
38        url.push_str(&format!("#{}", rid));
39    }
40    url
41}
42
43pub fn console_url_routes(region: &str, api_id: &str, route_id: Option<&str>) -> String {
44    let mut url = format!(
45        "https://{}.console.aws.amazon.com/apigateway/main/develop/routes?api={}&region={}",
46        region, api_id, region
47    );
48    if let Some(rid) = route_id {
49        url.push_str(&format!("&routes={}", rid));
50    }
51    url
52}