zero-cli 2.6.0

A command line tool for Zero Secrets Manager
use crate::common::print_formatted_error::print_formatted_error;

pub struct Vendors {
    pub prettified_vendor_options: Vec<&'static str>,
}

impl Vendors {
    pub fn new() -> Self {
        Vendors {
            prettified_vendor_options: Vec::from([
                "Agora",
                "Ansible",
                "AWS",
                "Azure",
                "Bitbucket",
                "Braintree",
                "Cloudflare",
                "Datadog",
                "DigitalOcean",
                "Docker",
                "Facebook",
                "Gemini",
                "GitHub",
                "GitLab",
                "Google",
                "GoogleCloud",
                "Jenkins",
                "Jira",
                "Kubernetes",
                "Linear",
                "Mailchimp",
                "Mixpanel",
                "Netlify",
                "OpenAI",
                "Other",
                "Paypal",
                "Pulumi",
                "Salesforce",
                "Segment",
                "Sendgrid",
                "Shopify",
                "Slack",
                "Stripe",
                "Terraform",
                "Trello",
                "Twilio",
                "Vercel",
                "Zoom",
            ]),
        }
    }

    pub fn vendor_normalize(vendor: &str) -> &'static str {
        match vendor {
            "Agora" => "agora",
            "Ansible" => "ansible",
            "AWS" => "aws",
            "Azure" => "azure",
            "Bitbucket" => "bitbucket",
            "Braintree" => "braintree",
            "Cloudflare" => "cloudflare",
            "Datadog" => "datadog",
            "DigitalOcean" => "digitalOcean",
            "Docker" => "docker",
            "Facebook" => "facebook",
            "Gemini" => "gemini",
            "GitHub" => "gitHub",
            "GitLab" => "gitLab",
            "Google" => "google",
            "GoogleCloud" => "googleCloud",
            "Jenkins" => "jenkins",
            "Jira" => "jira",
            "Kubernetes" => "kubernetes",
            "Linear" => "linear",
            "Mailchimp" => "mailchimp",
            "Mixpanel" => "mixpanel",
            "Netlify" => "netlify",
            "OpenAI" => "openAI",
            "Other" => "other",
            "Paypal" => "paypal",
            "Pulumi" => "pulumi",
            "Salesforce" => "salesforce",
            "Segment" => "segment",
            "Sendgrid" => "sendgrid",
            "Shopify" => "shopify",
            "Slack" => "slack",
            "Stripe" => "stripe",
            "Terraform" => "terraform",
            "Trello" => "trello",
            "Twilio" => "twilio",
            "Vercel" => "vercel",
            "Zoom" => "zoom",
            _ => {
                print_formatted_error("Service error. Please try again.");
                std::process::exit(1);
            }
        }
    }
}