ruma_client_api/
session.rs

1//! Endpoints for user session management.
2
3use ruma_common::serde::StringEnum;
4
5use crate::PrivOwnedStr;
6
7pub mod get_login_token;
8pub mod get_login_types;
9pub mod login;
10pub mod login_fallback;
11pub mod logout;
12pub mod logout_all;
13pub mod refresh_token;
14pub mod sso_login;
15pub mod sso_login_with_provider;
16
17/// Possible actions that a user wishes to take at the SSO redirect endpoints.
18#[doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/doc/string_enum.md"))]
19#[derive(Clone, StringEnum)]
20#[ruma_enum(rename_all = "lowercase")]
21#[non_exhaustive]
22pub enum SsoRedirectAction {
23    /// The SSO redirect is for the purpose of signing an existing user in.
24    Login,
25
26    /// The SSO redirect is for the purpose of registering a new user account.
27    Register,
28
29    #[doc(hidden)]
30    _Custom(PrivOwnedStr),
31}