#![allow(missing_docs, trivial_casts, unused_variables, unused_mut, unused_imports, unused_extern_crates, non_camel_case_types)] extern crate serde; #[macro_use] extern crate serde_derive; extern crate serde_json; extern crate chrono; extern crate futures; #[macro_use] extern crate lazy_static; #[macro_use] extern crate log; // Logically this should be in the client and server modules, but rust doesn't allow `macro_use` from a module. #[cfg(any(feature = "client", feature = "server"))] #[macro_use] extern crate hyper; extern crate swagger; use futures::Stream; use std::io::Error; #[allow(unused_imports)] use std::collections::HashMap; pub use futures::Future; #[cfg(any(feature = "client", feature = "server"))] mod mimetypes; pub use swagger::{ApiError, Context, ContextWrapper}; #[derive(Debug, PartialEq)] pub enum AuthCheckResponse { /// Success Success(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum AuthOidcResponse { /// Found Found(models::AuthOidcResult), /// Created Created(models::AuthOidcResult), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Conflict Conflict(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateAuthTokenResponse { /// Success Success(models::AuthTokenResult), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetChangelogResponse { /// Success Success(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetChangelogEntryResponse { /// Found Changelog Entry FoundChangelogEntry(models::ChangelogEntry), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateContainerResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateContainerAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteContainerResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteContainerEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetContainerResponse { /// Found Entity FoundEntity(models::ContainerEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetContainerEditResponse { /// Found Edit FoundEdit(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetContainerHistoryResponse { /// Found Entity History FoundEntityHistory(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetContainerRedirectsResponse { /// Found Entity Redirects FoundEntityRedirects(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetContainerRevisionResponse { /// Found Entity Revision FoundEntityRevision(models::ContainerEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum LookupContainerResponse { /// Found Entity FoundEntity(models::ContainerEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum UpdateContainerResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateCreatorResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateCreatorAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteCreatorResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteCreatorEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetCreatorResponse { /// Found Entity FoundEntity(models::CreatorEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetCreatorEditResponse { /// Found Edit FoundEdit(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetCreatorHistoryResponse { /// Found Entity History FoundEntityHistory(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetCreatorRedirectsResponse { /// Found Entity Redirects FoundEntityRedirects(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetCreatorReleasesResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetCreatorRevisionResponse { /// Found Entity Revision FoundEntityRevision(models::CreatorEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum LookupCreatorResponse { /// Found Entity FoundEntity(models::CreatorEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum UpdateCreatorResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum AcceptEditgroupResponse { /// Merged Successfully MergedSuccessfully(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Edit Conflict EditConflict(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateEditgroupResponse { /// Successfully Created SuccessfullyCreated(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateEditgroupAnnotationResponse { /// Created Created(models::EditgroupAnnotation), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetEditgroupResponse { /// Found Found(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetEditgroupAnnotationsResponse { /// Success Success(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetEditgroupsReviewableResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum UpdateEditgroupResponse { /// Updated Editgroup UpdatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetEditorResponse { /// Found Found(models::Editor), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetEditorAnnotationsResponse { /// Success Success(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetEditorEditgroupsResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum UpdateEditorResponse { /// Updated Editor UpdatedEditor(models::Editor), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateFileResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateFileAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteFileResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteFileEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetFileResponse { /// Found Entity FoundEntity(models::FileEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetFileEditResponse { /// Found Edit FoundEdit(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetFileHistoryResponse { /// Found Entity History FoundEntityHistory(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetFileRedirectsResponse { /// Found Entity Redirects FoundEntityRedirects(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetFileRevisionResponse { /// Found Entity Revision FoundEntityRevision(models::FileEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum LookupFileResponse { /// Found Entity FoundEntity(models::FileEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum UpdateFileResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateFilesetResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateFilesetAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteFilesetResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteFilesetEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetFilesetResponse { /// Found Entity FoundEntity(models::FilesetEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetFilesetEditResponse { /// Found Edit FoundEdit(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetFilesetHistoryResponse { /// Found Entity History FoundEntityHistory(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetFilesetRedirectsResponse { /// Found Entity Redirects FoundEntityRedirects(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetFilesetRevisionResponse { /// Found Entity Revision FoundEntityRevision(models::FilesetEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum UpdateFilesetResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateReleaseResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateReleaseAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteReleaseResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteReleaseEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetReleaseResponse { /// Found Entity FoundEntity(models::ReleaseEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetReleaseEditResponse { /// Found Edit FoundEdit(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetReleaseFilesResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetReleaseFilesetsResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetReleaseHistoryResponse { /// Found Entity History FoundEntityHistory(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetReleaseRedirectsResponse { /// Found Entity Redirects FoundEntityRedirects(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetReleaseRevisionResponse { /// Found Entity Revision FoundEntityRevision(models::ReleaseEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetReleaseWebcapturesResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum LookupReleaseResponse { /// Found Entity FoundEntity(models::ReleaseEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum UpdateReleaseResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateWebcaptureResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateWebcaptureAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteWebcaptureResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteWebcaptureEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetWebcaptureResponse { /// Found Entity FoundEntity(models::WebcaptureEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetWebcaptureEditResponse { /// Found Edit FoundEdit(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetWebcaptureHistoryResponse { /// Found Entity History FoundEntityHistory(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetWebcaptureRedirectsResponse { /// Found Entity Redirects FoundEntityRedirects(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetWebcaptureRevisionResponse { /// Found Entity Revision FoundEntityRevision(models::WebcaptureEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum UpdateWebcaptureResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateWorkResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum CreateWorkAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteWorkResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum DeleteWorkEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetWorkResponse { /// Found Entity FoundEntity(models::WorkEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetWorkEditResponse { /// Found Edit FoundEdit(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetWorkHistoryResponse { /// Found Entity History FoundEntityHistory(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetWorkRedirectsResponse { /// Found Entity Redirects FoundEntityRedirects(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetWorkReleasesResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum GetWorkRevisionResponse { /// Found Entity Revision FoundEntityRevision(models::WorkEntity), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] pub enum UpdateWorkResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: String }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } /// API pub trait Api { fn auth_check(&self, role: Option, context: &Context) -> Box + Send>; fn auth_oidc(&self, oidc_params: models::AuthOidc, context: &Context) -> Box + Send>; fn create_auth_token(&self, editor_id: String, duration_seconds: Option, context: &Context) -> Box + Send>; fn get_changelog(&self, limit: Option, context: &Context) -> Box + Send>; fn get_changelog_entry(&self, index: i64, context: &Context) -> Box + Send>; fn create_container(&self, editgroup_id: String, entity: models::ContainerEntity, context: &Context) -> Box + Send>; fn create_container_auto_batch(&self, auto_batch: models::ContainerAutoBatch, context: &Context) -> Box + Send>; fn delete_container(&self, editgroup_id: String, ident: String, context: &Context) -> Box + Send>; fn delete_container_edit(&self, editgroup_id: String, edit_id: String, context: &Context) -> Box + Send>; fn get_container(&self, ident: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn get_container_edit(&self, edit_id: String, context: &Context) -> Box + Send>; fn get_container_history(&self, ident: String, limit: Option, context: &Context) -> Box + Send>; fn get_container_redirects(&self, ident: String, context: &Context) -> Box + Send>; fn get_container_revision(&self, rev_id: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn lookup_container( &self, issnl: Option, wikidata_qid: Option, expand: Option, hide: Option, context: &Context, ) -> Box + Send>; fn update_container(&self, editgroup_id: String, ident: String, entity: models::ContainerEntity, context: &Context) -> Box + Send>; fn create_creator(&self, editgroup_id: String, entity: models::CreatorEntity, context: &Context) -> Box + Send>; fn create_creator_auto_batch(&self, auto_batch: models::CreatorAutoBatch, context: &Context) -> Box + Send>; fn delete_creator(&self, editgroup_id: String, ident: String, context: &Context) -> Box + Send>; fn delete_creator_edit(&self, editgroup_id: String, edit_id: String, context: &Context) -> Box + Send>; fn get_creator(&self, ident: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn get_creator_edit(&self, edit_id: String, context: &Context) -> Box + Send>; fn get_creator_history(&self, ident: String, limit: Option, context: &Context) -> Box + Send>; fn get_creator_redirects(&self, ident: String, context: &Context) -> Box + Send>; fn get_creator_releases(&self, ident: String, hide: Option, context: &Context) -> Box + Send>; fn get_creator_revision(&self, rev_id: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn lookup_creator( &self, orcid: Option, wikidata_qid: Option, expand: Option, hide: Option, context: &Context, ) -> Box + Send>; fn update_creator(&self, editgroup_id: String, ident: String, entity: models::CreatorEntity, context: &Context) -> Box + Send>; fn accept_editgroup(&self, editgroup_id: String, context: &Context) -> Box + Send>; fn create_editgroup(&self, editgroup: models::Editgroup, context: &Context) -> Box + Send>; fn create_editgroup_annotation( &self, editgroup_id: String, annotation: models::EditgroupAnnotation, context: &Context, ) -> Box + Send>; fn get_editgroup(&self, editgroup_id: String, context: &Context) -> Box + Send>; fn get_editgroup_annotations(&self, editgroup_id: String, expand: Option, context: &Context) -> Box + Send>; fn get_editgroups_reviewable( &self, expand: Option, limit: Option, before: Option>, since: Option>, context: &Context, ) -> Box + Send>; fn update_editgroup(&self, editgroup_id: String, editgroup: models::Editgroup, submit: Option, context: &Context) -> Box + Send>; fn get_editor(&self, editor_id: String, context: &Context) -> Box + Send>; fn get_editor_annotations( &self, editor_id: String, limit: Option, before: Option>, since: Option>, context: &Context, ) -> Box + Send>; fn get_editor_editgroups( &self, editor_id: String, limit: Option, before: Option>, since: Option>, context: &Context, ) -> Box + Send>; fn update_editor(&self, editor_id: String, editor: models::Editor, context: &Context) -> Box + Send>; fn create_file(&self, editgroup_id: String, entity: models::FileEntity, context: &Context) -> Box + Send>; fn create_file_auto_batch(&self, auto_batch: models::FileAutoBatch, context: &Context) -> Box + Send>; fn delete_file(&self, editgroup_id: String, ident: String, context: &Context) -> Box + Send>; fn delete_file_edit(&self, editgroup_id: String, edit_id: String, context: &Context) -> Box + Send>; fn get_file(&self, ident: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn get_file_edit(&self, edit_id: String, context: &Context) -> Box + Send>; fn get_file_history(&self, ident: String, limit: Option, context: &Context) -> Box + Send>; fn get_file_redirects(&self, ident: String, context: &Context) -> Box + Send>; fn get_file_revision(&self, rev_id: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn lookup_file( &self, md5: Option, sha1: Option, sha256: Option, expand: Option, hide: Option, context: &Context, ) -> Box + Send>; fn update_file(&self, editgroup_id: String, ident: String, entity: models::FileEntity, context: &Context) -> Box + Send>; fn create_fileset(&self, editgroup_id: String, entity: models::FilesetEntity, context: &Context) -> Box + Send>; fn create_fileset_auto_batch(&self, auto_batch: models::FilesetAutoBatch, context: &Context) -> Box + Send>; fn delete_fileset(&self, editgroup_id: String, ident: String, context: &Context) -> Box + Send>; fn delete_fileset_edit(&self, editgroup_id: String, edit_id: String, context: &Context) -> Box + Send>; fn get_fileset(&self, ident: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn get_fileset_edit(&self, edit_id: String, context: &Context) -> Box + Send>; fn get_fileset_history(&self, ident: String, limit: Option, context: &Context) -> Box + Send>; fn get_fileset_redirects(&self, ident: String, context: &Context) -> Box + Send>; fn get_fileset_revision(&self, rev_id: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn update_fileset(&self, editgroup_id: String, ident: String, entity: models::FilesetEntity, context: &Context) -> Box + Send>; fn create_release(&self, editgroup_id: String, entity: models::ReleaseEntity, context: &Context) -> Box + Send>; fn create_release_auto_batch(&self, auto_batch: models::ReleaseAutoBatch, context: &Context) -> Box + Send>; fn delete_release(&self, editgroup_id: String, ident: String, context: &Context) -> Box + Send>; fn delete_release_edit(&self, editgroup_id: String, edit_id: String, context: &Context) -> Box + Send>; fn get_release(&self, ident: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn get_release_edit(&self, edit_id: String, context: &Context) -> Box + Send>; fn get_release_files(&self, ident: String, hide: Option, context: &Context) -> Box + Send>; fn get_release_filesets(&self, ident: String, hide: Option, context: &Context) -> Box + Send>; fn get_release_history(&self, ident: String, limit: Option, context: &Context) -> Box + Send>; fn get_release_redirects(&self, ident: String, context: &Context) -> Box + Send>; fn get_release_revision(&self, rev_id: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn get_release_webcaptures(&self, ident: String, hide: Option, context: &Context) -> Box + Send>; fn lookup_release( &self, doi: Option, wikidata_qid: Option, isbn13: Option, pmid: Option, pmcid: Option, core: Option, arxiv: Option, jstor: Option, ark: Option, mag: Option, expand: Option, hide: Option, context: &Context, ) -> Box + Send>; fn update_release(&self, editgroup_id: String, ident: String, entity: models::ReleaseEntity, context: &Context) -> Box + Send>; fn create_webcapture(&self, editgroup_id: String, entity: models::WebcaptureEntity, context: &Context) -> Box + Send>; fn create_webcapture_auto_batch(&self, auto_batch: models::WebcaptureAutoBatch, context: &Context) -> Box + Send>; fn delete_webcapture(&self, editgroup_id: String, ident: String, context: &Context) -> Box + Send>; fn delete_webcapture_edit(&self, editgroup_id: String, edit_id: String, context: &Context) -> Box + Send>; fn get_webcapture(&self, ident: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn get_webcapture_edit(&self, edit_id: String, context: &Context) -> Box + Send>; fn get_webcapture_history(&self, ident: String, limit: Option, context: &Context) -> Box + Send>; fn get_webcapture_redirects(&self, ident: String, context: &Context) -> Box + Send>; fn get_webcapture_revision(&self, rev_id: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn update_webcapture(&self, editgroup_id: String, ident: String, entity: models::WebcaptureEntity, context: &Context) -> Box + Send>; fn create_work(&self, editgroup_id: String, entity: models::WorkEntity, context: &Context) -> Box + Send>; fn create_work_auto_batch(&self, auto_batch: models::WorkAutoBatch, context: &Context) -> Box + Send>; fn delete_work(&self, editgroup_id: String, ident: String, context: &Context) -> Box + Send>; fn delete_work_edit(&self, editgroup_id: String, edit_id: String, context: &Context) -> Box + Send>; fn get_work(&self, ident: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn get_work_edit(&self, edit_id: String, context: &Context) -> Box + Send>; fn get_work_history(&self, ident: String, limit: Option, context: &Context) -> Box + Send>; fn get_work_redirects(&self, ident: String, context: &Context) -> Box + Send>; fn get_work_releases(&self, ident: String, hide: Option, context: &Context) -> Box + Send>; fn get_work_revision(&self, rev_id: String, expand: Option, hide: Option, context: &Context) -> Box + Send>; fn update_work(&self, editgroup_id: String, ident: String, entity: models::WorkEntity, context: &Context) -> Box + Send>; } /// API without a `Context` pub trait ApiNoContext { fn auth_check(&self, role: Option) -> Box + Send>; fn auth_oidc(&self, oidc_params: models::AuthOidc) -> Box + Send>; fn create_auth_token(&self, editor_id: String, duration_seconds: Option) -> Box + Send>; fn get_changelog(&self, limit: Option) -> Box + Send>; fn get_changelog_entry(&self, index: i64) -> Box + Send>; fn create_container(&self, editgroup_id: String, entity: models::ContainerEntity) -> Box + Send>; fn create_container_auto_batch(&self, auto_batch: models::ContainerAutoBatch) -> Box + Send>; fn delete_container(&self, editgroup_id: String, ident: String) -> Box + Send>; fn delete_container_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send>; fn get_container(&self, ident: String, expand: Option, hide: Option) -> Box + Send>; fn get_container_edit(&self, edit_id: String) -> Box + Send>; fn get_container_history(&self, ident: String, limit: Option) -> Box + Send>; fn get_container_redirects(&self, ident: String) -> Box + Send>; fn get_container_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send>; fn lookup_container( &self, issnl: Option, wikidata_qid: Option, expand: Option, hide: Option, ) -> Box + Send>; fn update_container(&self, editgroup_id: String, ident: String, entity: models::ContainerEntity) -> Box + Send>; fn create_creator(&self, editgroup_id: String, entity: models::CreatorEntity) -> Box + Send>; fn create_creator_auto_batch(&self, auto_batch: models::CreatorAutoBatch) -> Box + Send>; fn delete_creator(&self, editgroup_id: String, ident: String) -> Box + Send>; fn delete_creator_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send>; fn get_creator(&self, ident: String, expand: Option, hide: Option) -> Box + Send>; fn get_creator_edit(&self, edit_id: String) -> Box + Send>; fn get_creator_history(&self, ident: String, limit: Option) -> Box + Send>; fn get_creator_redirects(&self, ident: String) -> Box + Send>; fn get_creator_releases(&self, ident: String, hide: Option) -> Box + Send>; fn get_creator_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send>; fn lookup_creator(&self, orcid: Option, wikidata_qid: Option, expand: Option, hide: Option) -> Box + Send>; fn update_creator(&self, editgroup_id: String, ident: String, entity: models::CreatorEntity) -> Box + Send>; fn accept_editgroup(&self, editgroup_id: String) -> Box + Send>; fn create_editgroup(&self, editgroup: models::Editgroup) -> Box + Send>; fn create_editgroup_annotation(&self, editgroup_id: String, annotation: models::EditgroupAnnotation) -> Box + Send>; fn get_editgroup(&self, editgroup_id: String) -> Box + Send>; fn get_editgroup_annotations(&self, editgroup_id: String, expand: Option) -> Box + Send>; fn get_editgroups_reviewable( &self, expand: Option, limit: Option, before: Option>, since: Option>, ) -> Box + Send>; fn update_editgroup(&self, editgroup_id: String, editgroup: models::Editgroup, submit: Option) -> Box + Send>; fn get_editor(&self, editor_id: String) -> Box + Send>; fn get_editor_annotations( &self, editor_id: String, limit: Option, before: Option>, since: Option>, ) -> Box + Send>; fn get_editor_editgroups( &self, editor_id: String, limit: Option, before: Option>, since: Option>, ) -> Box + Send>; fn update_editor(&self, editor_id: String, editor: models::Editor) -> Box + Send>; fn create_file(&self, editgroup_id: String, entity: models::FileEntity) -> Box + Send>; fn create_file_auto_batch(&self, auto_batch: models::FileAutoBatch) -> Box + Send>; fn delete_file(&self, editgroup_id: String, ident: String) -> Box + Send>; fn delete_file_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send>; fn get_file(&self, ident: String, expand: Option, hide: Option) -> Box + Send>; fn get_file_edit(&self, edit_id: String) -> Box + Send>; fn get_file_history(&self, ident: String, limit: Option) -> Box + Send>; fn get_file_redirects(&self, ident: String) -> Box + Send>; fn get_file_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send>; fn lookup_file( &self, md5: Option, sha1: Option, sha256: Option, expand: Option, hide: Option, ) -> Box + Send>; fn update_file(&self, editgroup_id: String, ident: String, entity: models::FileEntity) -> Box + Send>; fn create_fileset(&self, editgroup_id: String, entity: models::FilesetEntity) -> Box + Send>; fn create_fileset_auto_batch(&self, auto_batch: models::FilesetAutoBatch) -> Box + Send>; fn delete_fileset(&self, editgroup_id: String, ident: String) -> Box + Send>; fn delete_fileset_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send>; fn get_fileset(&self, ident: String, expand: Option, hide: Option) -> Box + Send>; fn get_fileset_edit(&self, edit_id: String) -> Box + Send>; fn get_fileset_history(&self, ident: String, limit: Option) -> Box + Send>; fn get_fileset_redirects(&self, ident: String) -> Box + Send>; fn get_fileset_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send>; fn update_fileset(&self, editgroup_id: String, ident: String, entity: models::FilesetEntity) -> Box + Send>; fn create_release(&self, editgroup_id: String, entity: models::ReleaseEntity) -> Box + Send>; fn create_release_auto_batch(&self, auto_batch: models::ReleaseAutoBatch) -> Box + Send>; fn delete_release(&self, editgroup_id: String, ident: String) -> Box + Send>; fn delete_release_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send>; fn get_release(&self, ident: String, expand: Option, hide: Option) -> Box + Send>; fn get_release_edit(&self, edit_id: String) -> Box + Send>; fn get_release_files(&self, ident: String, hide: Option) -> Box + Send>; fn get_release_filesets(&self, ident: String, hide: Option) -> Box + Send>; fn get_release_history(&self, ident: String, limit: Option) -> Box + Send>; fn get_release_redirects(&self, ident: String) -> Box + Send>; fn get_release_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send>; fn get_release_webcaptures(&self, ident: String, hide: Option) -> Box + Send>; fn lookup_release( &self, doi: Option, wikidata_qid: Option, isbn13: Option, pmid: Option, pmcid: Option, core: Option, arxiv: Option, jstor: Option, ark: Option, mag: Option, expand: Option, hide: Option, ) -> Box + Send>; fn update_release(&self, editgroup_id: String, ident: String, entity: models::ReleaseEntity) -> Box + Send>; fn create_webcapture(&self, editgroup_id: String, entity: models::WebcaptureEntity) -> Box + Send>; fn create_webcapture_auto_batch(&self, auto_batch: models::WebcaptureAutoBatch) -> Box + Send>; fn delete_webcapture(&self, editgroup_id: String, ident: String) -> Box + Send>; fn delete_webcapture_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send>; fn get_webcapture(&self, ident: String, expand: Option, hide: Option) -> Box + Send>; fn get_webcapture_edit(&self, edit_id: String) -> Box + Send>; fn get_webcapture_history(&self, ident: String, limit: Option) -> Box + Send>; fn get_webcapture_redirects(&self, ident: String) -> Box + Send>; fn get_webcapture_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send>; fn update_webcapture(&self, editgroup_id: String, ident: String, entity: models::WebcaptureEntity) -> Box + Send>; fn create_work(&self, editgroup_id: String, entity: models::WorkEntity) -> Box + Send>; fn create_work_auto_batch(&self, auto_batch: models::WorkAutoBatch) -> Box + Send>; fn delete_work(&self, editgroup_id: String, ident: String) -> Box + Send>; fn delete_work_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send>; fn get_work(&self, ident: String, expand: Option, hide: Option) -> Box + Send>; fn get_work_edit(&self, edit_id: String) -> Box + Send>; fn get_work_history(&self, ident: String, limit: Option) -> Box + Send>; fn get_work_redirects(&self, ident: String) -> Box + Send>; fn get_work_releases(&self, ident: String, hide: Option) -> Box + Send>; fn get_work_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send>; fn update_work(&self, editgroup_id: String, ident: String, entity: models::WorkEntity) -> Box + Send>; } /// Trait to extend an API to make it easy to bind it to a context. pub trait ContextWrapperExt<'a> where Self: Sized, { /// Binds this API to a context. fn with_context(self: &'a Self, context: Context) -> ContextWrapper<'a, Self>; } impl<'a, T: Api + Sized> ContextWrapperExt<'a> for T { fn with_context(self: &'a T, context: Context) -> ContextWrapper<'a, T> { ContextWrapper::::new(self, context) } } impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> { fn auth_check(&self, role: Option) -> Box + Send> { self.api().auth_check(role, &self.context()) } fn auth_oidc(&self, oidc_params: models::AuthOidc) -> Box + Send> { self.api().auth_oidc(oidc_params, &self.context()) } fn create_auth_token(&self, editor_id: String, duration_seconds: Option) -> Box + Send> { self.api().create_auth_token(editor_id, duration_seconds, &self.context()) } fn get_changelog(&self, limit: Option) -> Box + Send> { self.api().get_changelog(limit, &self.context()) } fn get_changelog_entry(&self, index: i64) -> Box + Send> { self.api().get_changelog_entry(index, &self.context()) } fn create_container(&self, editgroup_id: String, entity: models::ContainerEntity) -> Box + Send> { self.api().create_container(editgroup_id, entity, &self.context()) } fn create_container_auto_batch(&self, auto_batch: models::ContainerAutoBatch) -> Box + Send> { self.api().create_container_auto_batch(auto_batch, &self.context()) } fn delete_container(&self, editgroup_id: String, ident: String) -> Box + Send> { self.api().delete_container(editgroup_id, ident, &self.context()) } fn delete_container_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send> { self.api().delete_container_edit(editgroup_id, edit_id, &self.context()) } fn get_container(&self, ident: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_container(ident, expand, hide, &self.context()) } fn get_container_edit(&self, edit_id: String) -> Box + Send> { self.api().get_container_edit(edit_id, &self.context()) } fn get_container_history(&self, ident: String, limit: Option) -> Box + Send> { self.api().get_container_history(ident, limit, &self.context()) } fn get_container_redirects(&self, ident: String) -> Box + Send> { self.api().get_container_redirects(ident, &self.context()) } fn get_container_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_container_revision(rev_id, expand, hide, &self.context()) } fn lookup_container( &self, issnl: Option, wikidata_qid: Option, expand: Option, hide: Option, ) -> Box + Send> { self.api().lookup_container(issnl, wikidata_qid, expand, hide, &self.context()) } fn update_container(&self, editgroup_id: String, ident: String, entity: models::ContainerEntity) -> Box + Send> { self.api().update_container(editgroup_id, ident, entity, &self.context()) } fn create_creator(&self, editgroup_id: String, entity: models::CreatorEntity) -> Box + Send> { self.api().create_creator(editgroup_id, entity, &self.context()) } fn create_creator_auto_batch(&self, auto_batch: models::CreatorAutoBatch) -> Box + Send> { self.api().create_creator_auto_batch(auto_batch, &self.context()) } fn delete_creator(&self, editgroup_id: String, ident: String) -> Box + Send> { self.api().delete_creator(editgroup_id, ident, &self.context()) } fn delete_creator_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send> { self.api().delete_creator_edit(editgroup_id, edit_id, &self.context()) } fn get_creator(&self, ident: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_creator(ident, expand, hide, &self.context()) } fn get_creator_edit(&self, edit_id: String) -> Box + Send> { self.api().get_creator_edit(edit_id, &self.context()) } fn get_creator_history(&self, ident: String, limit: Option) -> Box + Send> { self.api().get_creator_history(ident, limit, &self.context()) } fn get_creator_redirects(&self, ident: String) -> Box + Send> { self.api().get_creator_redirects(ident, &self.context()) } fn get_creator_releases(&self, ident: String, hide: Option) -> Box + Send> { self.api().get_creator_releases(ident, hide, &self.context()) } fn get_creator_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_creator_revision(rev_id, expand, hide, &self.context()) } fn lookup_creator(&self, orcid: Option, wikidata_qid: Option, expand: Option, hide: Option) -> Box + Send> { self.api().lookup_creator(orcid, wikidata_qid, expand, hide, &self.context()) } fn update_creator(&self, editgroup_id: String, ident: String, entity: models::CreatorEntity) -> Box + Send> { self.api().update_creator(editgroup_id, ident, entity, &self.context()) } fn accept_editgroup(&self, editgroup_id: String) -> Box + Send> { self.api().accept_editgroup(editgroup_id, &self.context()) } fn create_editgroup(&self, editgroup: models::Editgroup) -> Box + Send> { self.api().create_editgroup(editgroup, &self.context()) } fn create_editgroup_annotation(&self, editgroup_id: String, annotation: models::EditgroupAnnotation) -> Box + Send> { self.api().create_editgroup_annotation(editgroup_id, annotation, &self.context()) } fn get_editgroup(&self, editgroup_id: String) -> Box + Send> { self.api().get_editgroup(editgroup_id, &self.context()) } fn get_editgroup_annotations(&self, editgroup_id: String, expand: Option) -> Box + Send> { self.api().get_editgroup_annotations(editgroup_id, expand, &self.context()) } fn get_editgroups_reviewable( &self, expand: Option, limit: Option, before: Option>, since: Option>, ) -> Box + Send> { self.api().get_editgroups_reviewable(expand, limit, before, since, &self.context()) } fn update_editgroup(&self, editgroup_id: String, editgroup: models::Editgroup, submit: Option) -> Box + Send> { self.api().update_editgroup(editgroup_id, editgroup, submit, &self.context()) } fn get_editor(&self, editor_id: String) -> Box + Send> { self.api().get_editor(editor_id, &self.context()) } fn get_editor_annotations( &self, editor_id: String, limit: Option, before: Option>, since: Option>, ) -> Box + Send> { self.api().get_editor_annotations(editor_id, limit, before, since, &self.context()) } fn get_editor_editgroups( &self, editor_id: String, limit: Option, before: Option>, since: Option>, ) -> Box + Send> { self.api().get_editor_editgroups(editor_id, limit, before, since, &self.context()) } fn update_editor(&self, editor_id: String, editor: models::Editor) -> Box + Send> { self.api().update_editor(editor_id, editor, &self.context()) } fn create_file(&self, editgroup_id: String, entity: models::FileEntity) -> Box + Send> { self.api().create_file(editgroup_id, entity, &self.context()) } fn create_file_auto_batch(&self, auto_batch: models::FileAutoBatch) -> Box + Send> { self.api().create_file_auto_batch(auto_batch, &self.context()) } fn delete_file(&self, editgroup_id: String, ident: String) -> Box + Send> { self.api().delete_file(editgroup_id, ident, &self.context()) } fn delete_file_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send> { self.api().delete_file_edit(editgroup_id, edit_id, &self.context()) } fn get_file(&self, ident: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_file(ident, expand, hide, &self.context()) } fn get_file_edit(&self, edit_id: String) -> Box + Send> { self.api().get_file_edit(edit_id, &self.context()) } fn get_file_history(&self, ident: String, limit: Option) -> Box + Send> { self.api().get_file_history(ident, limit, &self.context()) } fn get_file_redirects(&self, ident: String) -> Box + Send> { self.api().get_file_redirects(ident, &self.context()) } fn get_file_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_file_revision(rev_id, expand, hide, &self.context()) } fn lookup_file( &self, md5: Option, sha1: Option, sha256: Option, expand: Option, hide: Option, ) -> Box + Send> { self.api().lookup_file(md5, sha1, sha256, expand, hide, &self.context()) } fn update_file(&self, editgroup_id: String, ident: String, entity: models::FileEntity) -> Box + Send> { self.api().update_file(editgroup_id, ident, entity, &self.context()) } fn create_fileset(&self, editgroup_id: String, entity: models::FilesetEntity) -> Box + Send> { self.api().create_fileset(editgroup_id, entity, &self.context()) } fn create_fileset_auto_batch(&self, auto_batch: models::FilesetAutoBatch) -> Box + Send> { self.api().create_fileset_auto_batch(auto_batch, &self.context()) } fn delete_fileset(&self, editgroup_id: String, ident: String) -> Box + Send> { self.api().delete_fileset(editgroup_id, ident, &self.context()) } fn delete_fileset_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send> { self.api().delete_fileset_edit(editgroup_id, edit_id, &self.context()) } fn get_fileset(&self, ident: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_fileset(ident, expand, hide, &self.context()) } fn get_fileset_edit(&self, edit_id: String) -> Box + Send> { self.api().get_fileset_edit(edit_id, &self.context()) } fn get_fileset_history(&self, ident: String, limit: Option) -> Box + Send> { self.api().get_fileset_history(ident, limit, &self.context()) } fn get_fileset_redirects(&self, ident: String) -> Box + Send> { self.api().get_fileset_redirects(ident, &self.context()) } fn get_fileset_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_fileset_revision(rev_id, expand, hide, &self.context()) } fn update_fileset(&self, editgroup_id: String, ident: String, entity: models::FilesetEntity) -> Box + Send> { self.api().update_fileset(editgroup_id, ident, entity, &self.context()) } fn create_release(&self, editgroup_id: String, entity: models::ReleaseEntity) -> Box + Send> { self.api().create_release(editgroup_id, entity, &self.context()) } fn create_release_auto_batch(&self, auto_batch: models::ReleaseAutoBatch) -> Box + Send> { self.api().create_release_auto_batch(auto_batch, &self.context()) } fn delete_release(&self, editgroup_id: String, ident: String) -> Box + Send> { self.api().delete_release(editgroup_id, ident, &self.context()) } fn delete_release_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send> { self.api().delete_release_edit(editgroup_id, edit_id, &self.context()) } fn get_release(&self, ident: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_release(ident, expand, hide, &self.context()) } fn get_release_edit(&self, edit_id: String) -> Box + Send> { self.api().get_release_edit(edit_id, &self.context()) } fn get_release_files(&self, ident: String, hide: Option) -> Box + Send> { self.api().get_release_files(ident, hide, &self.context()) } fn get_release_filesets(&self, ident: String, hide: Option) -> Box + Send> { self.api().get_release_filesets(ident, hide, &self.context()) } fn get_release_history(&self, ident: String, limit: Option) -> Box + Send> { self.api().get_release_history(ident, limit, &self.context()) } fn get_release_redirects(&self, ident: String) -> Box + Send> { self.api().get_release_redirects(ident, &self.context()) } fn get_release_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_release_revision(rev_id, expand, hide, &self.context()) } fn get_release_webcaptures(&self, ident: String, hide: Option) -> Box + Send> { self.api().get_release_webcaptures(ident, hide, &self.context()) } fn lookup_release( &self, doi: Option, wikidata_qid: Option, isbn13: Option, pmid: Option, pmcid: Option, core: Option, arxiv: Option, jstor: Option, ark: Option, mag: Option, expand: Option, hide: Option, ) -> Box + Send> { self.api() .lookup_release(doi, wikidata_qid, isbn13, pmid, pmcid, core, arxiv, jstor, ark, mag, expand, hide, &self.context()) } fn update_release(&self, editgroup_id: String, ident: String, entity: models::ReleaseEntity) -> Box + Send> { self.api().update_release(editgroup_id, ident, entity, &self.context()) } fn create_webcapture(&self, editgroup_id: String, entity: models::WebcaptureEntity) -> Box + Send> { self.api().create_webcapture(editgroup_id, entity, &self.context()) } fn create_webcapture_auto_batch(&self, auto_batch: models::WebcaptureAutoBatch) -> Box + Send> { self.api().create_webcapture_auto_batch(auto_batch, &self.context()) } fn delete_webcapture(&self, editgroup_id: String, ident: String) -> Box + Send> { self.api().delete_webcapture(editgroup_id, ident, &self.context()) } fn delete_webcapture_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send> { self.api().delete_webcapture_edit(editgroup_id, edit_id, &self.context()) } fn get_webcapture(&self, ident: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_webcapture(ident, expand, hide, &self.context()) } fn get_webcapture_edit(&self, edit_id: String) -> Box + Send> { self.api().get_webcapture_edit(edit_id, &self.context()) } fn get_webcapture_history(&self, ident: String, limit: Option) -> Box + Send> { self.api().get_webcapture_history(ident, limit, &self.context()) } fn get_webcapture_redirects(&self, ident: String) -> Box + Send> { self.api().get_webcapture_redirects(ident, &self.context()) } fn get_webcapture_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_webcapture_revision(rev_id, expand, hide, &self.context()) } fn update_webcapture(&self, editgroup_id: String, ident: String, entity: models::WebcaptureEntity) -> Box + Send> { self.api().update_webcapture(editgroup_id, ident, entity, &self.context()) } fn create_work(&self, editgroup_id: String, entity: models::WorkEntity) -> Box + Send> { self.api().create_work(editgroup_id, entity, &self.context()) } fn create_work_auto_batch(&self, auto_batch: models::WorkAutoBatch) -> Box + Send> { self.api().create_work_auto_batch(auto_batch, &self.context()) } fn delete_work(&self, editgroup_id: String, ident: String) -> Box + Send> { self.api().delete_work(editgroup_id, ident, &self.context()) } fn delete_work_edit(&self, editgroup_id: String, edit_id: String) -> Box + Send> { self.api().delete_work_edit(editgroup_id, edit_id, &self.context()) } fn get_work(&self, ident: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_work(ident, expand, hide, &self.context()) } fn get_work_edit(&self, edit_id: String) -> Box + Send> { self.api().get_work_edit(edit_id, &self.context()) } fn get_work_history(&self, ident: String, limit: Option) -> Box + Send> { self.api().get_work_history(ident, limit, &self.context()) } fn get_work_redirects(&self, ident: String) -> Box + Send> { self.api().get_work_redirects(ident, &self.context()) } fn get_work_releases(&self, ident: String, hide: Option) -> Box + Send> { self.api().get_work_releases(ident, hide, &self.context()) } fn get_work_revision(&self, rev_id: String, expand: Option, hide: Option) -> Box + Send> { self.api().get_work_revision(rev_id, expand, hide, &self.context()) } fn update_work(&self, editgroup_id: String, ident: String, entity: models::WorkEntity) -> Box + Send> { self.api().update_work(editgroup_id, ident, entity, &self.context()) } } #[cfg(feature = "client")] pub mod client; // Re-export Client as a top-level name #[cfg(feature = "client")] pub use self::client::Client; #[cfg(feature = "server")] pub mod server; // Re-export router() as a top-level name #[cfg(feature = "server")] pub use self::server::router; pub mod models;