use utoipa::OpenApi; #[derive(OpenApi)] #[openapi( info( title = "auth", description = "认证与账号服务:工作量证明、口令与验证码登录、二次验证、注册、口令重置与 SSH 公钥。", version = env!("CARGO_PKG_VERSION") ), paths( crate::handlers::identity::challenge::handler::challenge, crate::handlers::identity::login::handler::login, crate::handlers::identity::login::handler::login_code, crate::handlers::identity::login::handler::login_code_verify, crate::handlers::identity::login::handler::login_verify, crate::handlers::identity::logout::handler::logout, crate::handlers::identity::me::handler::me, crate::handlers::identity::register::handler::register_code, crate::handlers::identity::register::handler::register, crate::handlers::identity::password_reset::handler::password_reset_request, crate::handlers::identity::password_reset::handler::password_reset, crate::handlers::identity::ssh_key::handler::ssh_key_list, crate::handlers::identity::ssh_key::handler::ssh_key_add, crate::handlers::identity::ssh_key::handler::ssh_key_delete, crate::handlers::identity::organization::handler::create_organization, crate::handlers::identity::organization::handler::list_organizations, crate::handlers::identity::organization::handler::get_organization, crate::handlers::identity::organization::handler::update_organization, crate::handlers::identity::organization::handler::archive_organization, crate::handlers::identity::organization::handler::restore_organization, crate::handlers::identity::organization::handler::delete_organization, crate::handlers::identity::organization::handler::transfer_ownership, crate::handlers::identity::organization::handler::leave_organization, crate::handlers::identity::organization::handler::list_members, crate::handlers::identity::organization::handler::get_member, crate::handlers::identity::organization::handler::update_member, crate::handlers::identity::organization::handler::update_self_member, crate::handlers::identity::organization::handler::add_member, crate::handlers::identity::organization::handler::remove_member, crate::handlers::identity::organization::handler::set_member_role, crate::handlers::identity::organization::handler::ban_member, crate::handlers::identity::organization::handler::unban_member, crate::handlers::identity::organization::handler::set_member_permissions, crate::handlers::identity::organization::handler::list_bans, crate::handlers::identity::organization::handler::get_ban, crate::handlers::identity::organization::handler::update_ban, crate::handlers::identity::organization::handler::unban_by_user, crate::handlers::identity::organization::handler::list_roles, crate::handlers::identity::organization::handler::get_role, crate::handlers::identity::organization::handler::create_role, crate::handlers::identity::organization::handler::update_role, crate::handlers::identity::organization::handler::delete_role, crate::handlers::identity::organization::handler::set_role_permissions, crate::handlers::identity::organization::handler::assign_role, crate::handlers::identity::organization::handler::unassign_role, crate::handlers::identity::organization::handler::join_role, crate::handlers::identity::organization::handler::leave_role, crate::handlers::identity::organization::handler::check_permission, crate::handlers::identity::organization::handler::create_invite, crate::handlers::identity::organization::handler::list_invites, crate::handlers::identity::organization::handler::revoke_invite, crate::handlers::identity::organization::handler::redeem_invite, ), components(schemas( crate::handlers::identity::organization::types::OrganizationSummary, crate::handlers::identity::organization::types::MemberSummary, crate::handlers::identity::organization::types::RoleSummary, crate::handlers::identity::organization::types::InviteSummary, crate::handlers::identity::organization::types::PermissionGrant, crate::handlers::identity::organization::types::PermissionCheck, crate::handlers::identity::organization::types::CreateOrganizationBody, crate::handlers::identity::organization::types::UpdateOrganizationBody, crate::handlers::identity::organization::types::AddMemberBody, crate::handlers::identity::organization::types::SetMemberRoleBody, crate::handlers::identity::organization::types::BanMemberBody, crate::handlers::identity::organization::types::CheckPermissionBody, crate::handlers::identity::organization::types::CreateRoleBody, crate::handlers::identity::organization::types::SetRolePermissionsBody, crate::handlers::identity::organization::handler::OrgPath, crate::handlers::identity::organization::handler::OrgMemberPath, crate::handlers::identity::organization::handler::OrgRolePath, crate::handlers::identity::organization::handler::OrgInvitePath, crate::handlers::identity::organization::handler::OrgListQuery, crate::handlers::identity::organization::handler::MemberListQuery, crate::handlers::identity::organization::handler::UpdateRoleBody, crate::handlers::identity::organization::handler::TransferBody, crate::handlers::identity::organization::handler::ReasonBody, crate::handlers::identity::organization::handler::DeleteOrgQuery, crate::handlers::identity::organization::handler::CreateInviteBody, crate::handlers::identity::organization::handler::RedeemInviteBody, crate::handlers::identity::organization::handler::CreateInviteResponse, crate::handlers::identity::organization::handler::RedeemInviteResponse, crate::handlers::identity::organization::handler::AssignRoleBody, )) )] pub struct ApiDoc;