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