atrium-api 0.26.0

API library for AT Protocol (Bluesky)
Documentation
// @generated - This file is generated by atrium-codegen. DO NOT EDIT.
//!Definitions for the `chat.bsky.group.defs` namespace.
///Preview for a disabled join link. Carries only the code so clients can correlate with the input and render a disabled state.
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct DisabledJoinLinkPreviewViewData {
    pub code: String,
}
pub type DisabledJoinLinkPreviewView = crate::types::Object<
    DisabledJoinLinkPreviewViewData,
>;
///Preview for a join link code that does not map to an existing link. Carries only the code so clients can correlate with the input and render an invalid state.
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct InvalidJoinLinkPreviewViewData {
    pub code: String,
}
pub type InvalidJoinLinkPreviewView = crate::types::Object<
    InvalidJoinLinkPreviewViewData,
>;
///Preview that can be shown in feeds, including to unauthenticated viewers.
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct JoinLinkPreviewViewData {
    pub code: String,
    ///Present only if the request is authenticated and the user is a member of the group.
    #[serde(skip_serializing_if = "core::option::Option::is_none")]
    pub convo: core::option::Option<crate::chat::bsky::convo::defs::ConvoView>,
    pub convo_id: String,
    pub join_rule: JoinRule,
    pub member_count: i64,
    pub member_limit: i64,
    pub name: String,
    pub owner: crate::chat::bsky::actor::defs::ProfileViewBasic,
    pub require_approval: bool,
    #[serde(skip_serializing_if = "core::option::Option::is_none")]
    pub viewer: core::option::Option<JoinLinkViewerState>,
}
pub type JoinLinkPreviewView = crate::types::Object<JoinLinkPreviewViewData>;
///Join link view to be used within a group view, so the convo is surrounding, not specified inside this view.
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct JoinLinkViewData {
    pub code: String,
    pub created_at: crate::types::string::Datetime,
    pub enabled_status: LinkEnabledStatus,
    pub join_rule: JoinRule,
    pub require_approval: bool,
}
pub type JoinLinkView = crate::types::Object<JoinLinkViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct JoinLinkViewerStateData {
    #[serde(skip_serializing_if = "core::option::Option::is_none")]
    pub requested_at: core::option::Option<crate::types::string::Datetime>,
}
pub type JoinLinkViewerState = crate::types::Object<JoinLinkViewerStateData>;
///A join request from the perspective of the requester, including enough group context to render the request in a list (e.g. group name, owner, member count).
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct JoinRequestConvoViewData {
    pub convo_id: String,
    pub member_count: i64,
    pub member_limit: i64,
    pub name: String,
    pub owner: crate::chat::bsky::actor::defs::ProfileViewBasic,
    pub viewer: JoinLinkViewerState,
}
pub type JoinRequestConvoView = crate::types::Object<JoinRequestConvoViewData>;
///A join request from the perspective of the group owner.
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct JoinRequestViewData {
    pub convo_id: String,
    pub requested_at: crate::types::string::Datetime,
    pub requested_by: crate::chat::bsky::actor::defs::ProfileViewBasic,
}
pub type JoinRequestView = crate::types::Object<JoinRequestViewData>;
pub type JoinRule = String;
pub type LinkEnabledStatus = String;