atrium_api/com/atproto/server/
create_account.rs

1// @generated - This file is generated by atrium-codegen. DO NOT EDIT.
2//!Definitions for the `com.atproto.server.createAccount` namespace.
3pub const NSID: &str = "com.atproto.server.createAccount";
4#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
5#[serde(rename_all = "camelCase")]
6pub struct InputData {
7    ///Pre-existing atproto DID, being imported to a new account.
8    #[serde(skip_serializing_if = "core::option::Option::is_none")]
9    pub did: core::option::Option<crate::types::string::Did>,
10    #[serde(skip_serializing_if = "core::option::Option::is_none")]
11    pub email: core::option::Option<String>,
12    ///Requested handle for the account.
13    pub handle: crate::types::string::Handle,
14    #[serde(skip_serializing_if = "core::option::Option::is_none")]
15    pub invite_code: core::option::Option<String>,
16    ///Initial account password. May need to meet instance-specific password strength requirements.
17    #[serde(skip_serializing_if = "core::option::Option::is_none")]
18    pub password: core::option::Option<String>,
19    ///A signed DID PLC operation to be submitted as part of importing an existing account to this instance. NOTE: this optional field may be updated when full account migration is implemented.
20    #[serde(skip_serializing_if = "core::option::Option::is_none")]
21    pub plc_op: core::option::Option<crate::types::Unknown>,
22    ///DID PLC rotation key (aka, recovery key) to be included in PLC creation operation.
23    #[serde(skip_serializing_if = "core::option::Option::is_none")]
24    pub recovery_key: core::option::Option<String>,
25    #[serde(skip_serializing_if = "core::option::Option::is_none")]
26    pub verification_code: core::option::Option<String>,
27    #[serde(skip_serializing_if = "core::option::Option::is_none")]
28    pub verification_phone: core::option::Option<String>,
29}
30pub type Input = crate::types::Object<InputData>;
31///Account login session returned on successful account creation.
32#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
33#[serde(rename_all = "camelCase")]
34pub struct OutputData {
35    pub access_jwt: String,
36    ///The DID of the new account.
37    pub did: crate::types::string::Did,
38    ///Complete DID document.
39    #[serde(skip_serializing_if = "core::option::Option::is_none")]
40    pub did_doc: core::option::Option<crate::types::Unknown>,
41    pub handle: crate::types::string::Handle,
42    pub refresh_jwt: String,
43}
44pub type Output = crate::types::Object<OutputData>;
45#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
46#[serde(tag = "error", content = "message")]
47pub enum Error {
48    InvalidHandle(Option<String>),
49    InvalidPassword(Option<String>),
50    InvalidInviteCode(Option<String>),
51    HandleNotAvailable(Option<String>),
52    UnsupportedDomain(Option<String>),
53    UnresolvableDid(Option<String>),
54    IncompatibleDidDoc(Option<String>),
55}
56impl std::fmt::Display for Error {
57    fn fmt(&self, _f: &mut std::fmt::Formatter) -> std::fmt::Result {
58        match self {
59            Error::InvalidHandle(msg) => {
60                write!(_f, "InvalidHandle")?;
61                if let Some(msg) = msg {
62                    write!(_f, ": {msg}")?;
63                }
64            }
65            Error::InvalidPassword(msg) => {
66                write!(_f, "InvalidPassword")?;
67                if let Some(msg) = msg {
68                    write!(_f, ": {msg}")?;
69                }
70            }
71            Error::InvalidInviteCode(msg) => {
72                write!(_f, "InvalidInviteCode")?;
73                if let Some(msg) = msg {
74                    write!(_f, ": {msg}")?;
75                }
76            }
77            Error::HandleNotAvailable(msg) => {
78                write!(_f, "HandleNotAvailable")?;
79                if let Some(msg) = msg {
80                    write!(_f, ": {msg}")?;
81                }
82            }
83            Error::UnsupportedDomain(msg) => {
84                write!(_f, "UnsupportedDomain")?;
85                if let Some(msg) = msg {
86                    write!(_f, ": {msg}")?;
87                }
88            }
89            Error::UnresolvableDid(msg) => {
90                write!(_f, "UnresolvableDid")?;
91                if let Some(msg) = msg {
92                    write!(_f, ": {msg}")?;
93                }
94            }
95            Error::IncompatibleDidDoc(msg) => {
96                write!(_f, "IncompatibleDidDoc")?;
97                if let Some(msg) = msg {
98                    write!(_f, ": {msg}")?;
99                }
100            }
101        }
102        Ok(())
103    }
104}