github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/clients/rust/src/models/login_config.rs (about)

     1  /*
     2   * lakeFS API
     3   *
     4   * lakeFS HTTP API
     5   *
     6   * The version of the OpenAPI document: 1.0.0
     7   * Contact: services@treeverse.io
     8   * Generated by: https://openapi-generator.tech
     9   */
    10  
    11  use crate::models;
    12  
    13  #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
    14  pub struct LoginConfig {
    15      /// RBAC will remain enabled on GUI if \"external\".  That only works with an external auth service. 
    16      #[serde(rename = "RBAC", skip_serializing_if = "Option::is_none")]
    17      pub rbac: Option<Rbac>,
    18      /// primary URL to use for login.
    19      #[serde(rename = "login_url")]
    20      pub login_url: String,
    21      /// message to display to users who fail to login; a full sentence that is rendered in HTML and may contain a link to a secondary login method 
    22      #[serde(rename = "login_failed_message", skip_serializing_if = "Option::is_none")]
    23      pub login_failed_message: Option<String>,
    24      /// secondary URL to offer users to use for login.
    25      #[serde(rename = "fallback_login_url", skip_serializing_if = "Option::is_none")]
    26      pub fallback_login_url: Option<String>,
    27      /// label to place on fallback_login_url.
    28      #[serde(rename = "fallback_login_label", skip_serializing_if = "Option::is_none")]
    29      pub fallback_login_label: Option<String>,
    30      /// cookie names used to store JWT
    31      #[serde(rename = "login_cookie_names")]
    32      pub login_cookie_names: Vec<String>,
    33      /// URL to use for logging out.
    34      #[serde(rename = "logout_url")]
    35      pub logout_url: String,
    36  }
    37  
    38  impl LoginConfig {
    39      pub fn new(login_url: String, login_cookie_names: Vec<String>, logout_url: String) -> LoginConfig {
    40          LoginConfig {
    41              rbac: None,
    42              login_url,
    43              login_failed_message: None,
    44              fallback_login_url: None,
    45              fallback_login_label: None,
    46              login_cookie_names,
    47              logout_url,
    48          }
    49      }
    50  }
    51  /// RBAC will remain enabled on GUI if \"external\".  That only works with an external auth service. 
    52  #[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
    53  pub enum Rbac {
    54      #[serde(rename = "simplified")]
    55      Simplified,
    56      #[serde(rename = "external")]
    57      External,
    58  }
    59  
    60  impl Default for Rbac {
    61      fn default() -> Rbac {
    62          Self::Simplified
    63      }
    64  }
    65