diff --git a/Cargo.toml b/Cargo.toml index 49d16b1..c9ca31f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,6 +26,10 @@ url = "^2.2" uuid = { version = "^1.0", features = ["serde"] } hex = "0.4.3" +# Conditional schemars versions +schemars09 = { package = "schemars", version = "0.9.0", optional = true, features = ["uuid1", "chrono04", "bigdecimal04"] } +schemars = { version = "^1", optional = true, features = ["uuid1", "chrono04", "bigdecimal04"] } + [dependencies.reqwest] version = "^0.12" default-features = false @@ -41,6 +45,8 @@ axum07 = ["dep:axum_07", "dep:tower"] axum08 = ["dep:axum_08", "dep:tower"] actix4 = ["dep:actix-web"] __reqwest = ["reqwest/json", "reqwest/multipart"] +schemars09 = ["dep:schemars09"] +schemars1 = ["dep:schemars"] [lib] doctest = false diff --git a/README.md b/README.md index bf2d72e..2fa99b7 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,31 @@ If you'd rather use a pure Rust TLS implementation rather than OpenSSL disable t propelauth = { version >= "0.12.1", features = ["rustls"], default-features = false } ``` +## JSON Schemas (schemars) + +This crate can optionally derive JSON Schemas for its request/response types using the schemars crate. This is useful if you want to automatically generate API documentation (e.g., OpenAPI) for endpoints that return or accept PropelAuth types, using libraries like aide. + +There are two feature flags to support both the 0.9 and 1.x lines of schemars: + +- schemars09 — enables schemars = 0.9.x compatibility +- schemars-latest — enables schemars = 1.x compatibility + +Only enable one of these features at a time. + +Enabling schemars in your Cargo.toml: + +```toml +# Choose one of the following feature flags +propelauth = { version = "^0", features = ["schemars-latest"] } +# or, if your project is still on schemars 0.9 +# propelauth = { version = "^0", features = ["schemars09"] } +``` + +What you get when enabled: + +- The crate's data models (for example: User, UserInOrg, CreateMagicLinkRequest, CreateAccessTokenResponse, and many others) will derive schemars::JsonSchema behind the selected feature flag. +- You can then use those types with OpenAPI generators that rely on schemars, such as aide, utoipa-with-schemars adapter, or custom schema generation code. + ## Other After initializing `auth`, you can verify [access tokens](https://docs.propelauth.com/guides-and-examples/guides/access-tokens) by passing in the Authorization header (formatted `Bearer TOKEN`): diff --git a/src/apis/access_token_service_api.rs b/src/apis/access_token_service_api.rs index 04e4e77..b7e657c 100644 --- a/src/apis/access_token_service_api.rs +++ b/src/apis/access_token_service_api.rs @@ -3,13 +3,23 @@ use reqwest; use super::{configuration, Error}; use crate::{apis::ResponseContent, propelauth::auth::AUTH_HOSTNAME_HEADER}; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + /// struct for passing parameters to the method [`create_access_token`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateAccessTokenParams { pub create_access_token_request: crate::models::CreateAccessTokenRequest, } #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateAccessTokenV2Params { pub create_access_token_request: crate::models::CreateAccessTokenV2Request, } diff --git a/src/apis/api_key_service_api.rs b/src/apis/api_key_service_api.rs index 138075c..8230bfe 100644 --- a/src/apis/api_key_service_api.rs +++ b/src/apis/api_key_service_api.rs @@ -11,8 +11,18 @@ use crate::{apis::ResponseContent, propelauth::auth::AUTH_HOSTNAME_HEADER}; use super::{configuration, Error}; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + + /// struct for passing parameters to the method [`fetch_api_keys`, `fetch_archived_api_keys`] #[derive(Clone, Debug, Default, Serialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct ApiKeyQueryParams { pub user_id: Option, pub user_email: Option, @@ -23,6 +33,7 @@ pub struct ApiKeyQueryParams { /// struct for passing parameters to the method [`create_api_key`] #[derive(Clone, Debug, Default, Serialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateApiKeyParams { pub expires_at_seconds: Option, pub metadata: Option, @@ -32,6 +43,7 @@ pub struct CreateApiKeyParams { /// struct for passing parameters to the method [`update_api_key`] #[derive(Clone, Debug, Default, Serialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UpdateApiKeyParams { pub expires_at_seconds: Option, pub metadata: Option, @@ -40,6 +52,7 @@ pub struct UpdateApiKeyParams { /// struct for passing parameters to the method [`validate_api_key`] #[derive(Clone, Debug, Default, Serialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct ValidateApiKeyParams { pub api_key_token: String, } diff --git a/src/apis/configuration.rs b/src/apis/configuration.rs index 37a79f9..fe9286d 100644 --- a/src/apis/configuration.rs +++ b/src/apis/configuration.rs @@ -10,6 +10,7 @@ use reqwest; + #[derive(Debug, Clone)] pub struct Configuration { pub base_path: String, diff --git a/src/apis/org_service_api.rs b/src/apis/org_service_api.rs index 1bfa5b1..7888d63 100644 --- a/src/apis/org_service_api.rs +++ b/src/apis/org_service_api.rs @@ -15,38 +15,52 @@ use crate::apis::ResponseContent; use crate::models::{FetchOrgOrderBy, SuccessfulResponse}; use crate::propelauth::auth::AUTH_HOSTNAME_HEADER; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + /// struct for passing parameters to the method [`add_user_to_org`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct AddUserToOrgParams { pub add_user_to_org_request: crate::models::AddUserToOrgRequest, } /// struct for passing parameters to the method [`allow_org_to_enable_saml`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct AllowOrgToEnableSamlParams { pub org_id: String, } /// struct for passing parameters to the method [`change_user_role_in_org`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct ChangeUserRoleInOrgParams { pub change_user_role_in_org_request: crate::models::ChangeUserRoleInOrgRequest, } /// struct for passing parameters to the method [`create_org`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateOrgParams { pub create_org_request: crate::models::CreateOrgRequest, } /// struct for passing parameters to the method [`disallow_saml`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct DisallowSamlParams { pub org_id: String, } /// struct for passing parameters to the method [`create_saml_connection_link`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateSamlConnectionLinkParams { pub org_id: String, pub expires_in_seconds: Option, @@ -54,12 +68,14 @@ pub struct CreateSamlConnectionLinkParams { /// struct for passing parameters to the method [`fetch_org`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchOrgParams { pub org_id: String, } /// struct for passing parameters to the method [`fetch_orgs_by_query`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchOrgsByQueryParams { pub page_size: Option, pub page_number: Option, @@ -71,6 +87,7 @@ pub struct FetchOrgsByQueryParams { /// struct for passing parameters to the method [`fetch_pending_invites`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchPendingInvitesParams { pub page_size: Option, pub page_number: Option, @@ -79,6 +96,7 @@ pub struct FetchPendingInvitesParams { /// struct for passing parameters to the method [`fetch_users_in_org`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchUsersInOrgParams { pub org_id: String, pub page_size: Option, @@ -90,12 +108,14 @@ pub struct FetchUsersInOrgParams { /// struct for passing parameters to the method [`remove_user_from_org`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct RemoveUserFromOrgParams { pub remove_user_from_org_request: crate::models::RemoveUserFromOrgRequest, } /// struct for passing parameters to the method [`update_org`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UpdateOrgParams { pub org_id: String, pub update_org_request: crate::models::UpdateOrgRequest, @@ -103,6 +123,7 @@ pub struct UpdateOrgParams { /// struct for passing parameters to the method [`subscribe_org_to_role_mapping`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct SubscribeOrgToRoleMappingParams { pub org_id: String, pub update_org_request: crate::models::SubscribeOrgToRoleMappingRequest, @@ -110,12 +131,14 @@ pub struct SubscribeOrgToRoleMappingParams { /// struct for passing parameters to the method [`delete_org`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct DeleteOrgParams { pub org_id: String, } /// struct for passing parameters to the method [`revoke_pending_org_invite`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct RevokePendingOrgInviteParams { pub revoke_pending_org_invite_request: crate::models::RevokePendingOrgInviteRequest, } diff --git a/src/apis/user_service_api.rs b/src/apis/user_service_api.rs index af637a4..08de871 100644 --- a/src/apis/user_service_api.rs +++ b/src/apis/user_service_api.rs @@ -15,44 +15,59 @@ use crate::models::{FetchUsersOrderBy, ResendEmailConfirmationRequest}; use crate::propelauth::auth::AUTH_HOSTNAME_HEADER; use crate::{apis::ResponseContent, models::InviteUserToOrgRequest}; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + /// struct for passing parameters to the method [`create_magic_link`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateMagicLinkParams { pub create_magic_link_request: crate::models::CreateMagicLinkRequest, } /// struct for passing parameters to the method [`create_user`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateUserParams { pub create_user_request: crate::models::CreateUserRequest, } /// struct for passing parameters to the method [`delete_user`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct DeleteUserParams { pub user_id: String, } /// struct for passing parameters to the method [`disable_user`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct DisableUserParams { pub user_id: String, } /// struct for passing parameters to the method [`disable_user2fa`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct DisableUser2faParams { pub user_id: String, } /// struct for passing parameters to the method [`enable_user`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct EnableUserParams { pub user_id: String, } /// struct for passing parameters to the method [`fetch_user_by_email`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchUserByEmailParams { pub email: String, /// Defaults to false @@ -61,6 +76,7 @@ pub struct FetchUserByEmailParams { /// struct for passing parameters to the method [`fetch_user_by_id`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchUserByIdParams { pub user_id: String, /// Defaults to false @@ -69,6 +85,7 @@ pub struct FetchUserByIdParams { /// struct for passing parameters to the method [`fetch_user_by_username`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchUserByUsernameParams { pub username: String, /// Defaults to false @@ -77,6 +94,7 @@ pub struct FetchUserByUsernameParams { /// struct for passing parameters to the method [`fetch_users_by_emails`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchUsersByEmailsParams { pub emails_query: crate::models::EmailsQuery, /// Defaults to false @@ -85,6 +103,7 @@ pub struct FetchUsersByEmailsParams { /// struct for passing parameters to the method [`fetch_users_by_ids`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchUsersByIdsParams { pub user_ids_query: crate::models::UserIdsQuery, /// Defaults to false @@ -93,6 +112,7 @@ pub struct FetchUsersByIdsParams { /// struct for passing parameters to the method [`fetch_users_by_query`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchUsersByQueryParams { pub page_size: Option, pub page_number: Option, @@ -104,6 +124,7 @@ pub struct FetchUsersByQueryParams { /// struct for passing parameters to the method [`fetch_users_by_usernames`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchUsersByUsernamesParams { pub usernames_query: crate::models::UsernamesQuery, /// Defaults to false @@ -112,18 +133,21 @@ pub struct FetchUsersByUsernamesParams { /// struct for passing parameters to the method [`migrate_user`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct MigrateUserParams { pub migrate_user_request: crate::models::MigrateUserRequest, } /// struct for passing parameters to the method [`migrate_user_password`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct MigrateUserPasswordParams { pub migrate_user_password_request: crate::models::MigrateUserPasswordRequest, } /// struct for passing parameters to the method [`update_user_email`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UpdateUserEmailParams { pub user_id: String, pub update_email_request: crate::models::UpdateEmailRequest, @@ -131,6 +155,7 @@ pub struct UpdateUserEmailParams { /// struct for passing parameters to the method [`update_user_metadata`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UpdateUserMetadataParams { pub user_id: String, pub update_metadata_request: crate::models::UpdateMetadataRequest, @@ -138,6 +163,7 @@ pub struct UpdateUserMetadataParams { /// struct for passing parameters to the method [`update_user_password`] #[derive(Clone, Debug, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UpdateUserPasswordParams { pub user_id: String, pub update_password_request: crate::models::UpdatePasswordRequest, diff --git a/src/models/add_user_to_org_request.rs b/src/models/add_user_to_org_request.rs index 6506636..9640671 100644 --- a/src/models/add_user_to_org_request.rs +++ b/src/models/add_user_to_org_request.rs @@ -8,7 +8,16 @@ * Generated by: https://openapi-generator.tech */ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct AddUserToOrgRequest { #[serde(rename = "user_id")] pub user_id: String, diff --git a/src/models/auth_token_verification_metadata.rs b/src/models/auth_token_verification_metadata.rs index 739dec3..7ba7f9e 100644 --- a/src/models/auth_token_verification_metadata.rs +++ b/src/models/auth_token_verification_metadata.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct AuthTokenVerificationMetadata { #[serde(rename = "public_key_pem")] pub public_key_pem: String, diff --git a/src/models/bad_create_access_token_error.rs b/src/models/bad_create_access_token_error.rs index defaba3..fa905b3 100644 --- a/src/models/bad_create_access_token_error.rs +++ b/src/models/bad_create_access_token_error.rs @@ -1,5 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadCreateAccessTokenError { #[serde(rename = "active_org_id", skip_serializing_if = "Option::is_none")] pub active_org_id: Option>, diff --git a/src/models/bad_create_magic_link_request.rs b/src/models/bad_create_magic_link_request.rs index afeb5f0..235f4fc 100644 --- a/src/models/bad_create_magic_link_request.rs +++ b/src/models/bad_create_magic_link_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadCreateMagicLinkRequest { #[serde(rename = "email", skip_serializing_if = "Option::is_none")] pub email: Option>, diff --git a/src/models/bad_create_org_request.rs b/src/models/bad_create_org_request.rs index 7db69f1..a8d05fe 100644 --- a/src/models/bad_create_org_request.rs +++ b/src/models/bad_create_org_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadCreateOrgRequest { #[serde(rename = "name", skip_serializing_if = "Option::is_none")] pub name: Option>, diff --git a/src/models/bad_create_user_request.rs b/src/models/bad_create_user_request.rs index 52b2260..3f7814b 100644 --- a/src/models/bad_create_user_request.rs +++ b/src/models/bad_create_user_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadCreateUserRequest { #[serde(rename = "email", skip_serializing_if = "Option::is_none")] pub email: Option>, diff --git a/src/models/bad_fetch_org_query.rs b/src/models/bad_fetch_org_query.rs index 5207df9..52dce8b 100644 --- a/src/models/bad_fetch_org_query.rs +++ b/src/models/bad_fetch_org_query.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadFetchOrgQuery { #[serde(rename = "page_size", skip_serializing_if = "Option::is_none")] pub page_size: Option>, diff --git a/src/models/bad_fetch_users_by_emails_query.rs b/src/models/bad_fetch_users_by_emails_query.rs index 5b2893f..a241df9 100644 --- a/src/models/bad_fetch_users_by_emails_query.rs +++ b/src/models/bad_fetch_users_by_emails_query.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadFetchUsersByEmailsQuery { #[serde(rename = "query", skip_serializing_if = "Option::is_none")] pub query: Option>, diff --git a/src/models/bad_fetch_users_by_ids_query.rs b/src/models/bad_fetch_users_by_ids_query.rs index 4844ea8..b142994 100644 --- a/src/models/bad_fetch_users_by_ids_query.rs +++ b/src/models/bad_fetch_users_by_ids_query.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadFetchUsersByIdsQuery { #[serde(rename = "query", skip_serializing_if = "Option::is_none")] pub query: Option>, diff --git a/src/models/bad_fetch_users_by_query.rs b/src/models/bad_fetch_users_by_query.rs index 6ed3b7c..12dc57c 100644 --- a/src/models/bad_fetch_users_by_query.rs +++ b/src/models/bad_fetch_users_by_query.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadFetchUsersByQuery { #[serde(rename = "page_size", skip_serializing_if = "Option::is_none")] pub page_size: Option>, diff --git a/src/models/bad_fetch_users_by_usernames_query.rs b/src/models/bad_fetch_users_by_usernames_query.rs index c91c726..cd0775e 100644 --- a/src/models/bad_fetch_users_by_usernames_query.rs +++ b/src/models/bad_fetch_users_by_usernames_query.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadFetchUsersByUsernamesQuery { #[serde(rename = "query", skip_serializing_if = "Option::is_none")] pub query: Option>, diff --git a/src/models/bad_fetch_users_in_org_query.rs b/src/models/bad_fetch_users_in_org_query.rs index ec6f2a1..5a3b528 100644 --- a/src/models/bad_fetch_users_in_org_query.rs +++ b/src/models/bad_fetch_users_in_org_query.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadFetchUsersInOrgQuery { #[serde(rename = "page_size", skip_serializing_if = "Option::is_none")] pub page_size: Option>, diff --git a/src/models/bad_migrate_user_password_request.rs b/src/models/bad_migrate_user_password_request.rs index c1cd310..96bb347 100644 --- a/src/models/bad_migrate_user_password_request.rs +++ b/src/models/bad_migrate_user_password_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadMigrateUserPasswordRequest { #[serde(rename = "user_id", skip_serializing_if = "Option::is_none")] pub user_id: Option>, diff --git a/src/models/bad_migrate_user_request.rs b/src/models/bad_migrate_user_request.rs index 4783419..9722c67 100644 --- a/src/models/bad_migrate_user_request.rs +++ b/src/models/bad_migrate_user_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadMigrateUserRequest { #[serde(rename = "email", skip_serializing_if = "Option::is_none")] pub email: Option>, diff --git a/src/models/bad_update_org_request.rs b/src/models/bad_update_org_request.rs index bd4df92..e49fc47 100644 --- a/src/models/bad_update_org_request.rs +++ b/src/models/bad_update_org_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadUpdateOrgRequest { #[serde(rename = "name", skip_serializing_if = "Option::is_none")] pub name: Option>, diff --git a/src/models/bad_update_password_request.rs b/src/models/bad_update_password_request.rs index 85c9885..2256c66 100644 --- a/src/models/bad_update_password_request.rs +++ b/src/models/bad_update_password_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadUpdatePasswordRequest { #[serde(rename = "password", skip_serializing_if = "Option::is_none")] pub password: Option>, diff --git a/src/models/bad_update_user_email_request.rs b/src/models/bad_update_user_email_request.rs index bbb9caa..d44a3b6 100644 --- a/src/models/bad_update_user_email_request.rs +++ b/src/models/bad_update_user_email_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadUpdateUserEmailRequest { #[serde(rename = "new_email", skip_serializing_if = "Option::is_none")] pub new_email: Option>, diff --git a/src/models/bad_update_user_metadata_request.rs b/src/models/bad_update_user_metadata_request.rs index 2ecee04..ee300f5 100644 --- a/src/models/bad_update_user_metadata_request.rs +++ b/src/models/bad_update_user_metadata_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct BadUpdateUserMetadataRequest { #[serde(rename = "username", skip_serializing_if = "Option::is_none")] pub username: Option>, diff --git a/src/models/change_user_role_in_org_request.rs b/src/models/change_user_role_in_org_request.rs index 0a2baac..306d0c5 100644 --- a/src/models/change_user_role_in_org_request.rs +++ b/src/models/change_user_role_in_org_request.rs @@ -8,7 +8,16 @@ * Generated by: https://openapi-generator.tech */ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct ChangeUserRoleInOrgRequest { #[serde(rename = "user_id")] pub user_id: String, diff --git a/src/models/create_access_token_request.rs b/src/models/create_access_token_request.rs index 5bd4359..761b63a 100644 --- a/src/models/create_access_token_request.rs +++ b/src/models/create_access_token_request.rs @@ -1,4 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateAccessTokenRequest { #[serde(rename = "user_id")] pub user_id: String, diff --git a/src/models/create_access_token_response.rs b/src/models/create_access_token_response.rs index fea22d7..6a57be8 100644 --- a/src/models/create_access_token_response.rs +++ b/src/models/create_access_token_response.rs @@ -1,4 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateAccessTokenResponse { pub access_token: String, } diff --git a/src/models/create_access_token_v2_request.rs b/src/models/create_access_token_v2_request.rs index dda3ead..04862ad 100644 --- a/src/models/create_access_token_v2_request.rs +++ b/src/models/create_access_token_v2_request.rs @@ -1,5 +1,13 @@ -#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateAccessTokenV2Request { #[serde(rename = "user_id")] pub user_id: String, diff --git a/src/models/create_api_key_response.rs b/src/models/create_api_key_response.rs index bf8a2b7..476e6ae 100644 --- a/src/models/create_api_key_response.rs +++ b/src/models/create_api_key_response.rs @@ -1,4 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateApiKeyResponse { pub api_key_id: String, pub api_key_token: String, diff --git a/src/models/create_magic_link_request.rs b/src/models/create_magic_link_request.rs index 7a7678f..26029f7 100644 --- a/src/models/create_magic_link_request.rs +++ b/src/models/create_magic_link_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateMagicLinkRequest { #[serde(rename = "email")] pub email: String, diff --git a/src/models/create_org_request.rs b/src/models/create_org_request.rs index 44e80db..f0baa3c 100644 --- a/src/models/create_org_request.rs +++ b/src/models/create_org_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateOrgRequest { #[serde(rename = "name")] pub name: String, diff --git a/src/models/create_org_response.rs b/src/models/create_org_response.rs index adbd5e2..7f28008 100644 --- a/src/models/create_org_response.rs +++ b/src/models/create_org_response.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateOrgResponse { #[serde(rename = "org_id")] pub org_id: String, diff --git a/src/models/create_saml_connection_link_response.rs b/src/models/create_saml_connection_link_response.rs index 04acf8c..1ae2110 100644 --- a/src/models/create_saml_connection_link_response.rs +++ b/src/models/create_saml_connection_link_response.rs @@ -1,4 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateSamlConnectionLinkResponse { #[serde(rename = "url")] pub url: String, diff --git a/src/models/create_user_request.rs b/src/models/create_user_request.rs index 978b3ac..4a26414 100644 --- a/src/models/create_user_request.rs +++ b/src/models/create_user_request.rs @@ -11,7 +11,16 @@ use serde_json::Value; use std::collections::HashMap; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreateUserRequest { #[serde(rename = "email")] pub email: String, diff --git a/src/models/created_user_response.rs b/src/models/created_user_response.rs index c540de3..77cc842 100644 --- a/src/models/created_user_response.rs +++ b/src/models/created_user_response.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CreatedUserResponse { #[serde(rename = "user_id")] pub user_id: String, diff --git a/src/models/emails_query.rs b/src/models/emails_query.rs index 0fff2b8..dbd1a80 100644 --- a/src/models/emails_query.rs +++ b/src/models/emails_query.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct EmailsQuery { #[serde(rename = "emails")] pub emails: Vec, diff --git a/src/models/fetch_api_key_response.rs b/src/models/fetch_api_key_response.rs index 929b515..1dd0037 100644 --- a/src/models/fetch_api_key_response.rs +++ b/src/models/fetch_api_key_response.rs @@ -1,4 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchApiKeyResponse { pub api_key_id: String, pub created_at: i32, diff --git a/src/models/fetch_api_keys_response.rs b/src/models/fetch_api_keys_response.rs index d09fe60..00595f2 100644 --- a/src/models/fetch_api_keys_response.rs +++ b/src/models/fetch_api_keys_response.rs @@ -1,4 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchApiKeysPagedResponse { #[serde(rename = "api_keys")] pub api_keys: Vec, diff --git a/src/models/fetch_custom_role_mappings_response.rs b/src/models/fetch_custom_role_mappings_response.rs index 68303aa..cfe6770 100644 --- a/src/models/fetch_custom_role_mappings_response.rs +++ b/src/models/fetch_custom_role_mappings_response.rs @@ -1,10 +1,20 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Deserialize, Debug)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchCustomRoleMappingsResponse { #[serde(rename = "custom_role_mappings", default)] pub custom_role_mappings: Vec, } #[derive(Deserialize, Debug)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct CustomRoleMappingResponse { #[serde(rename = "custom_role_mapping_name")] pub custom_role_mapping_name: String, diff --git a/src/models/fetch_org_order_by.rs b/src/models/fetch_org_order_by.rs index 4054ce6..e3618a4 100644 --- a/src/models/fetch_org_order_by.rs +++ b/src/models/fetch_org_order_by.rs @@ -8,9 +8,14 @@ * Generated by: https://openapi-generator.tech */ +#[cfg(feature = "schemars09")] +use schemars09 as schemars; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; /// #[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub enum FetchOrgOrderBy { #[serde(rename = "CREATED_AT_ASC")] CreatedAtAsc, diff --git a/src/models/fetch_org_response.rs b/src/models/fetch_org_response.rs index 9958990..5e93c77 100644 --- a/src/models/fetch_org_response.rs +++ b/src/models/fetch_org_response.rs @@ -11,8 +11,16 @@ use std::collections::HashMap; use serde_json::Value; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct OrgMetadata { #[serde(flatten)] pub metadata: HashMap, @@ -25,6 +33,7 @@ impl OrgMetadata { } #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchOrgResponse { pub org_id: String, pub name: String, @@ -80,6 +89,7 @@ impl FetchOrgResponse { // A Simple org response is used for fetching multiple orgs until that API returns a full org object #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchOrgBasicResponse { pub org_id: String, pub name: String, diff --git a/src/models/fetch_orgs_response.rs b/src/models/fetch_orgs_response.rs index 7e9a1f8..8a0d366 100644 --- a/src/models/fetch_orgs_response.rs +++ b/src/models/fetch_orgs_response.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchOrgsResponse { #[serde(rename = "orgs")] pub orgs: Vec, diff --git a/src/models/fetch_pending_invites.rs b/src/models/fetch_pending_invites.rs index fa76279..af3709c 100644 --- a/src/models/fetch_pending_invites.rs +++ b/src/models/fetch_pending_invites.rs @@ -1,4 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Deserialize, Debug)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchPendingInvitesResponse { #[serde(rename = "total_invites")] pub total_invites: i64, @@ -13,6 +22,7 @@ pub struct FetchPendingInvitesResponse { } #[derive(Deserialize, Debug)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct PendingInviteResponse { #[serde(rename = "invitee_email")] pub invitee_email: String, diff --git a/src/models/fetch_saml_sp_metadata_response.rs b/src/models/fetch_saml_sp_metadata_response.rs index a0e37c4..075f5df 100644 --- a/src/models/fetch_saml_sp_metadata_response.rs +++ b/src/models/fetch_saml_sp_metadata_response.rs @@ -1,4 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct FetchSamlSpMetadataResponse { #[serde(rename = "entity_id")] pub entity_id: String, diff --git a/src/models/fetch_users_order_by.rs b/src/models/fetch_users_order_by.rs index 557522b..8e9e3c6 100644 --- a/src/models/fetch_users_order_by.rs +++ b/src/models/fetch_users_order_by.rs @@ -8,9 +8,14 @@ * Generated by: https://openapi-generator.tech */ +#[cfg(feature = "schemars09")] +use schemars09 as schemars; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; /// #[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub enum FetchUsersOrderBy { #[serde(rename = "CREATED_AT_ASC")] CreatedAtAsc, diff --git a/src/models/invite_user_to_org_request.rs b/src/models/invite_user_to_org_request.rs index 36bc825..31337bb 100644 --- a/src/models/invite_user_to_org_request.rs +++ b/src/models/invite_user_to_org_request.rs @@ -1,4 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct InviteUserToOrgRequest { #[serde(rename = "org_id")] pub org_id: String, diff --git a/src/models/magic_link.rs b/src/models/magic_link.rs index 3c5ba72..cce0919 100644 --- a/src/models/magic_link.rs +++ b/src/models/magic_link.rs @@ -7,11 +7,18 @@ * * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct MagicLink { #[serde(rename = "url")] pub url: String, diff --git a/src/models/migrate_user_password_request.rs b/src/models/migrate_user_password_request.rs index 7dd854e..c796580 100644 --- a/src/models/migrate_user_password_request.rs +++ b/src/models/migrate_user_password_request.rs @@ -7,8 +7,15 @@ * * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct MigrateUserPasswordRequest { #[serde(rename = "user_id")] pub user_id: String, diff --git a/src/models/migrate_user_request.rs b/src/models/migrate_user_request.rs index f786fbf..c7cc309 100644 --- a/src/models/migrate_user_request.rs +++ b/src/models/migrate_user_request.rs @@ -11,7 +11,16 @@ use serde_json::Value; use std::collections::HashMap; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct MigrateUserRequest { #[serde(rename = "email")] pub email: String, diff --git a/src/models/remove_user_from_org_request.rs b/src/models/remove_user_from_org_request.rs index 559d8e8..dcac961 100644 --- a/src/models/remove_user_from_org_request.rs +++ b/src/models/remove_user_from_org_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct RemoveUserFromOrgRequest { #[serde(rename = "user_id")] pub user_id: String, diff --git a/src/models/resend_email_confirmation_request.rs b/src/models/resend_email_confirmation_request.rs index c136740..40653ca 100644 --- a/src/models/resend_email_confirmation_request.rs +++ b/src/models/resend_email_confirmation_request.rs @@ -1,4 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct ResendEmailConfirmationRequest { #[serde(rename = "user_id")] pub user_id: String, diff --git a/src/models/revoke_pending_org_invite_request.rs b/src/models/revoke_pending_org_invite_request.rs index 468a6a5..131ff8b 100644 --- a/src/models/revoke_pending_org_invite_request.rs +++ b/src/models/revoke_pending_org_invite_request.rs @@ -8,7 +8,16 @@ * Generated by: https://openapi-generator.tech */ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct RevokePendingOrgInviteRequest { #[serde(rename = "org_id")] pub org_id: String, diff --git a/src/models/set_saml_idp_metadata_request.rs b/src/models/set_saml_idp_metadata_request.rs index 0d962d9..ed21495 100644 --- a/src/models/set_saml_idp_metadata_request.rs +++ b/src/models/set_saml_idp_metadata_request.rs @@ -1,4 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Serialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct SetSamlIdpMetadataRequest { #[serde(rename = "org_id")] pub org_id: String, @@ -13,6 +22,7 @@ pub struct SetSamlIdpMetadataRequest { } #[derive(Clone, Debug, PartialEq, Serialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub enum SamlIdpProvider { Google, Rippling, diff --git a/src/models/subscribe_org_to_role_mapping_request.rs b/src/models/subscribe_org_to_role_mapping_request.rs index ce8011e..80341a8 100644 --- a/src/models/subscribe_org_to_role_mapping_request.rs +++ b/src/models/subscribe_org_to_role_mapping_request.rs @@ -1,4 +1,13 @@ +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct SubscribeOrgToRoleMappingRequest { #[serde(rename = "custom_role_mapping_name")] pub custom_role_mapping_name: String, diff --git a/src/models/successful_response.rs b/src/models/successful_response.rs index edcdd49..ef9ee6b 100644 --- a/src/models/successful_response.rs +++ b/src/models/successful_response.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct SuccessfulResponse { #[serde(rename = "message", skip_serializing_if = "Option::is_none")] pub message: Option, diff --git a/src/models/update_email_request.rs b/src/models/update_email_request.rs index d2a9793..7842370 100644 --- a/src/models/update_email_request.rs +++ b/src/models/update_email_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UpdateEmailRequest { #[serde(rename = "new_email")] pub new_email: String, diff --git a/src/models/update_metadata_request.rs b/src/models/update_metadata_request.rs index b91dedf..f8bf530 100644 --- a/src/models/update_metadata_request.rs +++ b/src/models/update_metadata_request.rs @@ -15,7 +15,16 @@ use std::collections::HashMap; use serde_json::Value; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UpdateMetadataRequest { #[serde(rename = "username", skip_serializing_if = "Option::is_none")] pub username: Option, diff --git a/src/models/update_org_request.rs b/src/models/update_org_request.rs index 5ca6a68..6abc28d 100644 --- a/src/models/update_org_request.rs +++ b/src/models/update_org_request.rs @@ -12,7 +12,16 @@ use std::collections::HashMap; use serde_json::Value; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UpdateOrgRequest { #[serde(rename = "name", skip_serializing_if = "Option::is_none")] pub name: Option, diff --git a/src/models/update_password_request.rs b/src/models/update_password_request.rs index 3e361e1..2b5e0c8 100644 --- a/src/models/update_password_request.rs +++ b/src/models/update_password_request.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UpdatePasswordRequest { #[serde(rename = "password")] pub password: String, diff --git a/src/models/user_ids_query.rs b/src/models/user_ids_query.rs index 5f9624c..a3beb0b 100644 --- a/src/models/user_ids_query.rs +++ b/src/models/user_ids_query.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UserIdsQuery { #[serde(rename = "user_ids")] pub user_ids: Vec, diff --git a/src/models/user_in_org.rs b/src/models/user_in_org.rs index d56e4c7..05b351c 100644 --- a/src/models/user_in_org.rs +++ b/src/models/user_in_org.rs @@ -13,7 +13,16 @@ use std::collections::HashMap; use crate::propelauth::token_models::OrgRoleStructure; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UserInOrg { #[serde(rename = "org_id")] pub org_id: String, diff --git a/src/models/user_metadata.rs b/src/models/user_metadata.rs index b8eda28..49fd194 100644 --- a/src/models/user_metadata.rs +++ b/src/models/user_metadata.rs @@ -12,7 +12,16 @@ use std::collections::HashMap; use serde_json::Value; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UserMetadata { #[serde(rename = "user_id")] pub user_id: String, diff --git a/src/models/user_paged_response.rs b/src/models/user_paged_response.rs index 533064c..ce24fca 100644 --- a/src/models/user_paged_response.rs +++ b/src/models/user_paged_response.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UserPagedResponse { #[serde(rename = "users")] pub users: Vec, diff --git a/src/models/usernames_query.rs b/src/models/usernames_query.rs index c48bed4..3bfb929 100644 --- a/src/models/usernames_query.rs +++ b/src/models/usernames_query.rs @@ -8,10 +8,17 @@ * Generated by: https://openapi-generator.tech */ - +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; #[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UsernamesQuery { #[serde(rename = "usernames")] pub usernames: Vec, diff --git a/src/models/validate_api_key_response.rs b/src/models/validate_api_key_response.rs index f84f524..8f8f612 100644 --- a/src/models/validate_api_key_response.rs +++ b/src/models/validate_api_key_response.rs @@ -3,9 +3,18 @@ use serde_json::Value; use uuid::Uuid; use crate::models::{UserInOrg, UserMetadata}; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + pub type OrgRole = String; -#[derive(Clone, Debug, PartialEq, Deserialize)] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct ValidateApiKeyResponse { pub metadata: Option, pub user: Option, @@ -16,12 +25,14 @@ pub struct ValidateApiKeyResponse { } #[derive(Clone, Debug, PartialEq, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct ValidatePersonalApiKeyResponse { pub metadata: Option, pub user: UserMetadata, } #[derive(Clone, Debug, PartialEq, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct ValidateOrgApiKeyResponse { pub metadata: Option, pub user: Option, @@ -29,7 +40,8 @@ pub struct ValidateOrgApiKeyResponse { pub user_in_org: Option, } -#[derive(Clone, Debug, PartialEq, Deserialize)] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct OrgMetadata { pub org_id: Uuid, pub org_name: String, diff --git a/src/propelauth/access_token.rs b/src/propelauth/access_token.rs index 4389649..185aec1 100644 --- a/src/propelauth/access_token.rs +++ b/src/propelauth/access_token.rs @@ -5,6 +5,7 @@ use crate::models::CreateAccessTokenResponse; use crate::propelauth::errors::CreateAccessTokenError; use crate::propelauth::helpers::{is_valid_id, map_autogenerated_error}; + pub struct AccessTokenService<'a> { pub(crate) config: &'a Configuration, } diff --git a/src/propelauth/api_key.rs b/src/propelauth/api_key.rs index 244e8ff..4e1eecf 100644 --- a/src/propelauth/api_key.rs +++ b/src/propelauth/api_key.rs @@ -11,6 +11,7 @@ use crate::models::{ }; use crate::propelauth::helpers::map_autogenerated_error; + pub struct ApiKeyService<'a> { pub(crate) config: &'a Configuration, } diff --git a/src/propelauth/auth.rs b/src/propelauth/auth.rs index 238eeb2..5a6d478 100644 --- a/src/propelauth/auth.rs +++ b/src/propelauth/auth.rs @@ -80,28 +80,28 @@ impl PropelAuth { } /// API requests related to users - pub fn user(&self) -> UserService { + pub fn user(&self) -> UserService<'_> { UserService { config: &self.config, } } /// API requests related to organizations - pub fn org(&self) -> OrgService { + pub fn org(&self) -> OrgService<'_> { OrgService { config: &self.config, } } /// API requests related to organizations - pub fn api_key(&self) -> ApiKeyService { + pub fn api_key(&self) -> ApiKeyService<'_> { ApiKeyService { config: &self.config, } } /// Verify access tokens from your frontend - pub fn verify(&self) -> TokenService { + pub fn verify(&self) -> TokenService<'_> { TokenService { token_verification_metadata: &self.token_verification_metadata, issuer: &self.issuer, @@ -109,7 +109,7 @@ impl PropelAuth { } /// API requests related to access tokens. - pub fn access_token(&self) -> AccessTokenService { + pub fn access_token(&self) -> AccessTokenService<'_> { AccessTokenService { config: &self.config, } diff --git a/src/propelauth/options.rs b/src/propelauth/options.rs index c3c44c4..26604cf 100644 --- a/src/propelauth/options.rs +++ b/src/propelauth/options.rs @@ -1,5 +1,14 @@ use crate::models::AuthTokenVerificationMetadata; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct AuthOptionsWithTokenVerification { pub auth_url: String, pub api_key: String, @@ -14,6 +23,7 @@ pub struct AuthOptionsWithTokenVerification { pub manual_token_verification_metadata: AuthTokenVerificationMetadata, } +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct AuthOptions { pub auth_url: String, pub api_key: String, diff --git a/src/propelauth/org.rs b/src/propelauth/org.rs index ed31535..f8445f5 100644 --- a/src/propelauth/org.rs +++ b/src/propelauth/org.rs @@ -21,6 +21,7 @@ use crate::propelauth::helpers::{is_valid_id, map_autogenerated_error}; use super::errors::{InviteUserToOrgError, SubscribeOrgToRoleMappingError}; + pub struct OrgService<'a> { pub(crate) config: &'a Configuration, } diff --git a/src/propelauth/token.rs b/src/propelauth/token.rs index 7ff8346..2253f20 100644 --- a/src/propelauth/token.rs +++ b/src/propelauth/token.rs @@ -11,6 +11,15 @@ use crate::propelauth::token_models::{OrgMemberInfo, User, UserAndOrgMemberInfo} use super::token_models::LoginMethodForAccessToken; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct TokenService<'a> { pub(crate) token_verification_metadata: &'a AuthTokenVerificationMetadata, pub(crate) issuer: &'a str, @@ -584,7 +593,7 @@ mod tests { fn get_token_service( token_verification_metadata: &AuthTokenVerificationMetadata, - ) -> TokenService { + ) -> TokenService<'_> { TokenService { token_verification_metadata, issuer: ISSUER, diff --git a/src/propelauth/token_models.rs b/src/propelauth/token_models.rs index f22de75..7c18272 100644 --- a/src/propelauth/token_models.rs +++ b/src/propelauth/token_models.rs @@ -7,7 +7,16 @@ use serde_json::Value; use crate::propelauth::errors::DetailedForbiddenError; use crate::propelauth::options::{RequiredOrg, UserRequirementsInOrg}; +#[cfg(feature = "schemars09")] +use { + std::convert::TryFrom, + schemars09 as schemars, +}; +#[cfg(any(feature = "schemars09", feature = "schemars1"))] +use schemars::JsonSchema; + #[derive(Debug, Deserialize, Clone, PartialEq, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct LoginMethodForAccessToken { pub login_method: String, #[serde(default)] @@ -17,6 +26,7 @@ pub struct LoginMethodForAccessToken { } #[derive(Debug, Serialize, Deserialize, Hash, Eq, PartialEq, Copy, Clone)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] #[serde(rename_all = "snake_case")] pub enum SocialLoginType { Google, @@ -48,6 +58,7 @@ impl std::str::FromStr for SocialLoginType { } #[derive(Serialize, Deserialize, Copy, Clone, Debug, PartialEq, Eq)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub enum IdentityProvider { Google, Rippling, @@ -78,6 +89,7 @@ impl std::str::FromStr for IdentityProvider { } #[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub enum LoginMethod { Password, MagicLink, @@ -118,6 +130,7 @@ impl Into for LoginMethodForAccessToken { } #[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Default)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct User { pub user_id: String, @@ -237,6 +250,7 @@ impl User { } #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct OrgMemberInfo { pub org_id: String, pub org_name: String, @@ -250,6 +264,7 @@ pub struct OrgMemberInfo { } #[derive(Debug, Default, Serialize, Deserialize, Clone, PartialEq)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub enum OrgRoleStructure { #[default] #[serde(rename = "single_role_in_hierarchy")] @@ -301,6 +316,7 @@ impl OrgMemberInfo { } #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] +#[cfg_attr(any(feature = "schemars09", feature = "schemars1"), derive(JsonSchema))] pub struct UserAndOrgMemberInfo { pub user: User, pub org_member_info: OrgMemberInfo, diff --git a/src/propelauth/user.rs b/src/propelauth/user.rs index 90ca8aa..579eb3b 100644 --- a/src/propelauth/user.rs +++ b/src/propelauth/user.rs @@ -19,6 +19,7 @@ use crate::propelauth::errors::{ use crate::propelauth::helpers::{is_valid_id, map_autogenerated_error}; use std::collections::HashMap; + pub struct UserService<'a> { pub(crate) config: &'a Configuration, }