use super::{ProgramExit, TemplateGenerator, TemplateLister};
use crate::http_client::HttpClient;
pub struct GitignoreTemplateManager;
impl TemplateGenerator for GitignoreTemplateManager {
fn generate_from_api(
http_client: &impl HttpClient,
endpoint_uri: &str,
template_names: &[String],
) -> Result<String, ProgramExit> {
let path_param = template_names.join(",");
let full_uri = format!("{endpoint_uri}/{path_param}");
http_client.get(&full_uri)
}
}
impl TemplateLister for GitignoreTemplateManager {
fn list_from_api(
http_client: &impl HttpClient,
endpoint_uri: &str,
) -> Result<String, ProgramExit> {
http_client.get(endpoint_uri)
}
}