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