#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Challenges {
#[prost(message, optional, tag="1")]
pub passkey: ::core::option::Option<challenges::Passkey>,
}
pub mod challenges {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Passkey {
#[prost(message, optional, tag="1")]
pub public_key_credential_request_options: ::core::option::Option<::pbjson_types::Struct>,
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChallengeKind {
Unspecified = 0,
Passkey = 1,
}
impl ChallengeKind {
pub fn as_str_name(&self) -> &'static str {
match self {
ChallengeKind::Unspecified => "CHALLENGE_KIND_UNSPECIFIED",
ChallengeKind::Passkey => "CHALLENGE_KIND_PASSKEY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CHALLENGE_KIND_UNSPECIFIED" => Some(Self::Unspecified),
"CHALLENGE_KIND_PASSKEY" => Some(Self::Passkey),
_ => None,
}
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Session {
#[prost(string, tag="1")]
pub id: ::prost::alloc::string::String,
#[prost(message, optional, tag="2")]
pub creation_date: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag="3")]
pub change_date: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(uint64, tag="4")]
pub sequence: u64,
#[prost(message, optional, tag="5")]
pub factors: ::core::option::Option<Factors>,
#[prost(map="string, bytes", tag="6")]
pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::vec::Vec<u8>>,
#[prost(string, tag="7")]
pub domain: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Factors {
#[prost(message, optional, tag="1")]
pub user: ::core::option::Option<UserFactor>,
#[prost(message, optional, tag="2")]
pub password: ::core::option::Option<PasswordFactor>,
#[prost(message, optional, tag="3")]
pub passkey: ::core::option::Option<PasskeyFactor>,
#[prost(message, optional, tag="4")]
pub intent: ::core::option::Option<IntentFactor>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UserFactor {
#[prost(message, optional, tag="1")]
pub verified_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag="2")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub login_name: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub display_name: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PasswordFactor {
#[prost(message, optional, tag="1")]
pub verified_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IntentFactor {
#[prost(message, optional, tag="1")]
pub verified_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PasskeyFactor {
#[prost(message, optional, tag="1")]
pub verified_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchQuery {
#[prost(oneof="search_query::Query", tags="1")]
pub query: ::core::option::Option<search_query::Query>,
}
pub mod search_query {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Query {
#[prost(message, tag="1")]
IdsQuery(super::IDsQuery),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IDsQuery {
#[prost(string, repeated, tag="1")]
pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSessionsRequest {
#[prost(message, optional, tag="1")]
pub query: ::core::option::Option<super::super::object::v2alpha::ListQuery>,
#[prost(message, repeated, tag="2")]
pub queries: ::prost::alloc::vec::Vec<SearchQuery>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSessionsResponse {
#[prost(message, optional, tag="1")]
pub details: ::core::option::Option<super::super::object::v2alpha::ListDetails>,
#[prost(message, repeated, tag="2")]
pub sessions: ::prost::alloc::vec::Vec<Session>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSessionRequest {
#[prost(string, tag="1")]
pub session_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub session_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSessionResponse {
#[prost(message, optional, tag="1")]
pub session: ::core::option::Option<Session>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSessionRequest {
#[prost(message, optional, tag="1")]
pub checks: ::core::option::Option<Checks>,
#[prost(map="string, bytes", tag="2")]
pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::vec::Vec<u8>>,
#[prost(enumeration="ChallengeKind", repeated, tag="3")]
pub challenges: ::prost::alloc::vec::Vec<i32>,
#[prost(string, tag="4")]
pub domain: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSessionResponse {
#[prost(message, optional, tag="1")]
pub details: ::core::option::Option<super::super::object::v2alpha::Details>,
#[prost(string, tag="2")]
pub session_id: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub session_token: ::prost::alloc::string::String,
#[prost(message, optional, tag="4")]
pub challenges: ::core::option::Option<Challenges>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetSessionRequest {
#[prost(string, tag="1")]
pub session_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub session_token: ::prost::alloc::string::String,
#[prost(message, optional, tag="3")]
pub checks: ::core::option::Option<Checks>,
#[prost(map="string, bytes", tag="4")]
pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::vec::Vec<u8>>,
#[prost(enumeration="ChallengeKind", repeated, tag="5")]
pub challenges: ::prost::alloc::vec::Vec<i32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetSessionResponse {
#[prost(message, optional, tag="1")]
pub details: ::core::option::Option<super::super::object::v2alpha::Details>,
#[prost(string, tag="2")]
pub session_token: ::prost::alloc::string::String,
#[prost(message, optional, tag="3")]
pub challenges: ::core::option::Option<Challenges>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSessionRequest {
#[prost(string, tag="1")]
pub session_id: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub session_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSessionResponse {
#[prost(message, optional, tag="1")]
pub details: ::core::option::Option<super::super::object::v2alpha::Details>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Checks {
#[prost(message, optional, tag="1")]
pub user: ::core::option::Option<CheckUser>,
#[prost(message, optional, tag="2")]
pub password: ::core::option::Option<CheckPassword>,
#[prost(message, optional, tag="3")]
pub passkey: ::core::option::Option<CheckPasskey>,
#[prost(message, optional, tag="4")]
pub intent: ::core::option::Option<CheckIntent>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CheckUser {
#[prost(oneof="check_user::Search", tags="1, 2")]
pub search: ::core::option::Option<check_user::Search>,
}
pub mod check_user {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Search {
#[prost(string, tag="1")]
UserId(::prost::alloc::string::String),
#[prost(string, tag="2")]
LoginName(::prost::alloc::string::String),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CheckPassword {
#[prost(string, tag="1")]
pub password: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CheckPasskey {
#[prost(message, optional, tag="1")]
pub credential_assertion_data: ::core::option::Option<::pbjson_types::Struct>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CheckIntent {
#[prost(string, tag="1")]
pub intent_id: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub token: ::prost::alloc::string::String,
}
include!("zitadel.session.v2alpha.tonic.rs");