rusticity_term/apig/
mod.rs1pub 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={}®ion={}",
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={}®ion={}",
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={}®ion={}",
46 region, api_id, region
47 );
48 if let Some(rid) = route_id {
49 url.push_str(&format!("&routes={}", rid));
50 }
51 url
52}