Skip to main content

bitwarden_api_api/models/
sso_jit_provision_finish_password_request_model.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15/// SsoJitProvisionFinishPasswordRequestModel : Request to finish SSO JIT provisioning for a user in
16/// an organization that uses master password decryption. Accepts only the modern MPAD + MPUD shape:
17/// unlike `accounts/set-password`, this endpoint has no legacy clients to stay compatible with.
18#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
19pub struct SsoJitProvisionFinishPasswordRequestModel {
20    #[serde(
21        rename = "masterPasswordAuthentication",
22        alias = "MasterPasswordAuthentication"
23    )]
24    pub master_password_authentication: Box<models::MasterPasswordAuthenticationDataRequestModel>,
25    #[serde(rename = "masterPasswordUnlock", alias = "MasterPasswordUnlock")]
26    pub master_password_unlock: Box<models::MasterPasswordUnlockDataRequestModel>,
27    #[serde(
28        rename = "accountKeys",
29        alias = "AccountKeys",
30        skip_serializing_if = "Option::is_none"
31    )]
32    pub account_keys: Option<Box<models::AccountKeysRequestModel>>,
33    #[serde(
34        rename = "keys",
35        alias = "Keys",
36        skip_serializing_if = "Option::is_none"
37    )]
38    pub keys: Option<Box<models::KeysRequestModel>>,
39    #[serde(
40        rename = "masterPasswordHint",
41        alias = "MasterPasswordHint",
42        skip_serializing_if = "Option::is_none"
43    )]
44    pub master_password_hint: Option<String>,
45    #[serde(rename = "orgIdentifier", alias = "OrgIdentifier")]
46    pub org_identifier: String,
47    /// Whether to accept the user's pending organization invite. Required so every caller decides
48    /// explicitly; open-invite clients send `false` so the member stays Invited for later Admin
49    /// Console checks.
50    #[serde(
51        rename = "acceptOrganizationInvite",
52        alias = "AcceptOrganizationInvite"
53    )]
54    pub accept_organization_invite: bool,
55}
56
57impl SsoJitProvisionFinishPasswordRequestModel {
58    /// Request to finish SSO JIT provisioning for a user in an organization that uses master
59    /// password decryption. Accepts only the modern MPAD + MPUD shape: unlike
60    /// `accounts/set-password`, this endpoint has no legacy clients to stay compatible with.
61    pub fn new(
62        master_password_authentication: models::MasterPasswordAuthenticationDataRequestModel,
63        master_password_unlock: models::MasterPasswordUnlockDataRequestModel,
64        org_identifier: String,
65        accept_organization_invite: bool,
66    ) -> SsoJitProvisionFinishPasswordRequestModel {
67        SsoJitProvisionFinishPasswordRequestModel {
68            master_password_authentication: Box::new(master_password_authentication),
69            master_password_unlock: Box::new(master_password_unlock),
70            account_keys: None,
71            keys: None,
72            master_password_hint: None,
73            org_identifier,
74            accept_organization_invite,
75        }
76    }
77}