Expand description
SwarmHive HTTP API types.
Plain serde DTOs + utoipa::ToSchema annotations shared across the wire.
Consumed by:
swarmhive-server— for axum handler request / response bodies.swarmhive-cli— for HTTP client request / response deserialization.swarmhive-entity— forimpl From<&entity::Model>conversions.
Boundary rules:
- This crate MUST stay free of
sea-orm,axum,tokio,reqwest, or any IO / runtime dependency. It is the thinnest possible shared layer. - Concrete DTOs (
User,Release,Artifact, …) are added by subsequent proposals (add-persistence-foundation,add-app-release-artifact, …).
Re-exports§
pub use api_token::ApiToken;pub use api_token::ApiTokenKind;pub use api_token::CreateTokenRequest;pub use api_token::CreateTokenResponse;pub use app::App;pub use app::CreateAppRequest;pub use app::UpdateAppRequest;pub use artifact::Artifact;pub use artifact::ChannelAction;pub use artifact::ChannelReleaseHistoryEntry;pub use audit::AuditLog;pub use channel::Channel;pub use channel::ChannelView;pub use channel::CreateChannelRequest;pub use channel::UpdateChannelRequest;pub use device::DEVICE_GRANT_TYPE;pub use device::DeviceAuthorizationView;pub use device::DeviceCodeRequest;pub use device::DeviceCodeResponse;pub use device::DeviceTokenError;pub use device::DeviceTokenErrorResponse;pub use device::DeviceTokenRequest;pub use device::DeviceTokenResponse;pub use device::DeviceVerifyRequest;pub use identity::IdentityLink;pub use identity::IdentityProvider;pub use mail::CreateProviderReq;pub use mail::MailLogStatus;pub use mail::MailLogView;pub use mail::MailProviderView;pub use mail::MailStatusResp;pub use mail::MailTemplateView;pub use mail::PreviewReq;pub use mail::PreviewResp;pub use mail::ProviderKind;pub use mail::SmtpEncryption;pub use mail::TestSentResp;pub use mail::TouchedResp;pub use mail::UpdateProviderReq;pub use mail::UpdateTemplateReq;pub use oauth::CreateOAuthProviderReq;pub use oauth::OAuthProviderKind;pub use oauth::OAuthProviderView;pub use oauth::OAuthTestResult;pub use oauth::PublicOAuthProvider;pub use oauth::UpdateOAuthProviderReq;pub use platform::Platform;pub use release::CreateReleaseRequest;pub use release::PromoteRequest;pub use release::Release;pub use release::ReleaseStatus;pub use release::RollbackRequest;pub use release::UpdateReleaseRequest;pub use role::Permission;pub use role::PermissionName;pub use role::Role;pub use storage::CorsConfigRequest;pub use storage::CorsConfigResult;pub use storage::CreateStorageBackendRequest;pub use storage::StorageBackendView;pub use storage::StorageTestResult;pub use storage::UpdateStorageBackendRequest;pub use storage::UrlMode;pub use update::AndroidUpdateResponse;pub use update::TauriUpdateExtensions;pub use update::TauriUpdateResponse;pub use update::UpgradeType;pub use upload::CompletePart;pub use upload::CompleteRequest;pub use upload::CompleteResponse;pub use upload::PresignFile;pub use upload::PresignPart;pub use upload::PresignRequest;pub use upload::PresignResponse;pub use user::User;pub use user::UserStatus;
Modules§
- api_
token - app
- artifact
- audit
- channel
- device
- RFC 8628 Device Authorization Grant 的 HTTP DTO(
swarmhive login用)。 - identity
- Mail HTTP DTOs —— SMTP provider / 模板 / 日志 / 状态。
- oauth
- OAuth provider configuration DTOs (admin Settings > Authentication) + the public provider list consumed by the /login page.
- platform
- release
- role
- storage
- update
- Tauri v2 updater「dynamic update server」兼容响应 DTO。
- upload
- user