Skip to main content

rusticity_term/apig/
mod.rs

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