#![allow( missing_docs, trivial_casts, unused_variables, unused_mut, unused_imports, unused_extern_crates, non_camel_case_types )] use async_trait::async_trait; use futures::Stream; use std::error::Error; use std::task::{Context, Poll}; use swagger::{ApiError, ContextWrapper}; type ServiceError = Box; pub const BASE_PATH: &'static str = "/v0"; pub const API_VERSION: &'static str = "0.5.0"; #[derive(Debug, PartialEq)] #[must_use] pub enum AcceptEditgroupResponse { /// Merged Successfully MergedSuccessfully(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Edit Conflict EditConflict(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum AuthCheckResponse { /// Success Success(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum AuthOidcResponse { /// Found Found(models::AuthOidcResult), /// Created Created(models::AuthOidcResult), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Conflict Conflict(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateAuthTokenResponse { /// Success Success(models::AuthTokenResult), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateContainerResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateContainerAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateCreatorResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateCreatorAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateEditgroupResponse { /// Successfully Created SuccessfullyCreated(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateEditgroupAnnotationResponse { /// Created Created(models::EditgroupAnnotation), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateFileResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateFileAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateFilesetResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateFilesetAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateReleaseResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateReleaseAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateWebcaptureResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateWebcaptureAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateWorkResponse { /// Created Entity CreatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum CreateWorkAutoBatchResponse { /// Created Editgroup CreatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteContainerResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteContainerEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteCreatorResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteCreatorEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteFileResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteFileEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteFilesetResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteFilesetEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteReleaseResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteReleaseEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteWebcaptureResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteWebcaptureEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteWorkResponse { /// Deleted Entity DeletedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum DeleteWorkEditResponse { /// Deleted Edit DeletedEdit(models::Success), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum GetChangelogResponse { /// Success Success(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] pub enum GetCreatorReleasesResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] 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)] #[must_use] 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)] #[must_use] pub enum GetEditgroupAnnotationsResponse { /// Success Success(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum GetEditgroupsReviewableResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] 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)] #[must_use] pub enum GetEditorAnnotationsResponse { /// Success Success(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum GetEditorEditgroupsResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] pub enum GetReleaseFilesResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum GetReleaseFilesetsResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] pub enum GetReleaseWebcapturesResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] pub enum GetWorkReleasesResponse { /// Found Found(Vec), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] 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)] #[must_use] 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)] #[must_use] 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)] #[must_use] pub enum LookupEditorResponse { /// Found Found(models::Editor), /// Bad Request BadRequest(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] 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)] #[must_use] 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)] #[must_use] pub enum UpdateContainerResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum UpdateCreatorResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum UpdateEditgroupResponse { /// Updated Editgroup UpdatedEditgroup(models::Editgroup), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum UpdateEditorResponse { /// Updated Editor UpdatedEditor(models::Editor), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum UpdateFileResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum UpdateFilesetResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum UpdateReleaseResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum UpdateWebcaptureResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } #[derive(Debug, PartialEq)] #[must_use] pub enum UpdateWorkResponse { /// Updated Entity UpdatedEntity(models::EntityEdit), /// Bad Request BadRequest(models::ErrorResponse), /// Not Authorized NotAuthorized { body: models::ErrorResponse, www_authenticate: Option, }, /// Forbidden Forbidden(models::ErrorResponse), /// Not Found NotFound(models::ErrorResponse), /// Generic Error GenericError(models::ErrorResponse), } /// API #[async_trait] pub trait Api { fn poll_ready( &self, _cx: &mut Context, ) -> Poll>> { Poll::Ready(Ok(())) } async fn accept_editgroup( &self, editgroup_id: String, context: &C, ) -> Result; async fn auth_check( &self, role: Option, context: &C, ) -> Result; async fn auth_oidc( &self, auth_oidc: models::AuthOidc, context: &C, ) -> Result; async fn create_auth_token( &self, editor_id: String, duration_seconds: Option, context: &C, ) -> Result; async fn create_container( &self, editgroup_id: String, container_entity: models::ContainerEntity, context: &C, ) -> Result; async fn create_container_auto_batch( &self, container_auto_batch: models::ContainerAutoBatch, context: &C, ) -> Result; async fn create_creator( &self, editgroup_id: String, creator_entity: models::CreatorEntity, context: &C, ) -> Result; async fn create_creator_auto_batch( &self, creator_auto_batch: models::CreatorAutoBatch, context: &C, ) -> Result; async fn create_editgroup( &self, editgroup: models::Editgroup, context: &C, ) -> Result; async fn create_editgroup_annotation( &self, editgroup_id: String, editgroup_annotation: models::EditgroupAnnotation, context: &C, ) -> Result; async fn create_file( &self, editgroup_id: String, file_entity: models::FileEntity, context: &C, ) -> Result; async fn create_file_auto_batch( &self, file_auto_batch: models::FileAutoBatch, context: &C, ) -> Result; async fn create_fileset( &self, editgroup_id: String, fileset_entity: models::FilesetEntity, context: &C, ) -> Result; async fn create_fileset_auto_batch( &self, fileset_auto_batch: models::FilesetAutoBatch, context: &C, ) -> Result; async fn create_release( &self, editgroup_id: String, release_entity: models::ReleaseEntity, context: &C, ) -> Result; async fn create_release_auto_batch( &self, release_auto_batch: models::ReleaseAutoBatch, context: &C, ) -> Result; async fn create_webcapture( &self, editgroup_id: String, webcapture_entity: models::WebcaptureEntity, context: &C, ) -> Result; async fn create_webcapture_auto_batch( &self, webcapture_auto_batch: models::WebcaptureAutoBatch, context: &C, ) -> Result; async fn create_work( &self, editgroup_id: String, work_entity: models::WorkEntity, context: &C, ) -> Result; async fn create_work_auto_batch( &self, work_auto_batch: models::WorkAutoBatch, context: &C, ) -> Result; async fn delete_container( &self, editgroup_id: String, ident: String, context: &C, ) -> Result; async fn delete_container_edit( &self, editgroup_id: String, edit_id: String, context: &C, ) -> Result; async fn delete_creator( &self, editgroup_id: String, ident: String, context: &C, ) -> Result; async fn delete_creator_edit( &self, editgroup_id: String, edit_id: String, context: &C, ) -> Result; async fn delete_file( &self, editgroup_id: String, ident: String, context: &C, ) -> Result; async fn delete_file_edit( &self, editgroup_id: String, edit_id: String, context: &C, ) -> Result; async fn delete_fileset( &self, editgroup_id: String, ident: String, context: &C, ) -> Result; async fn delete_fileset_edit( &self, editgroup_id: String, edit_id: String, context: &C, ) -> Result; async fn delete_release( &self, editgroup_id: String, ident: String, context: &C, ) -> Result; async fn delete_release_edit( &self, editgroup_id: String, edit_id: String, context: &C, ) -> Result; async fn delete_webcapture( &self, editgroup_id: String, ident: String, context: &C, ) -> Result; async fn delete_webcapture_edit( &self, editgroup_id: String, edit_id: String, context: &C, ) -> Result; async fn delete_work( &self, editgroup_id: String, ident: String, context: &C, ) -> Result; async fn delete_work_edit( &self, editgroup_id: String, edit_id: String, context: &C, ) -> Result; async fn get_changelog( &self, limit: Option, context: &C, ) -> Result; async fn get_changelog_entry( &self, index: i64, context: &C, ) -> Result; async fn get_container( &self, ident: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_container_edit( &self, edit_id: String, context: &C, ) -> Result; async fn get_container_history( &self, ident: String, limit: Option, context: &C, ) -> Result; async fn get_container_redirects( &self, ident: String, context: &C, ) -> Result; async fn get_container_revision( &self, rev_id: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_creator( &self, ident: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_creator_edit( &self, edit_id: String, context: &C, ) -> Result; async fn get_creator_history( &self, ident: String, limit: Option, context: &C, ) -> Result; async fn get_creator_redirects( &self, ident: String, context: &C, ) -> Result; async fn get_creator_releases( &self, ident: String, hide: Option, context: &C, ) -> Result; async fn get_creator_revision( &self, rev_id: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_editgroup( &self, editgroup_id: String, context: &C, ) -> Result; async fn get_editgroup_annotations( &self, editgroup_id: String, expand: Option, context: &C, ) -> Result; async fn get_editgroups_reviewable( &self, expand: Option, limit: Option, before: Option>, since: Option>, context: &C, ) -> Result; async fn get_editor( &self, editor_id: String, context: &C, ) -> Result; async fn get_editor_annotations( &self, editor_id: String, limit: Option, before: Option>, since: Option>, context: &C, ) -> Result; async fn get_editor_editgroups( &self, editor_id: String, limit: Option, before: Option>, since: Option>, context: &C, ) -> Result; async fn get_file( &self, ident: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_file_edit( &self, edit_id: String, context: &C, ) -> Result; async fn get_file_history( &self, ident: String, limit: Option, context: &C, ) -> Result; async fn get_file_redirects( &self, ident: String, context: &C, ) -> Result; async fn get_file_revision( &self, rev_id: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_fileset( &self, ident: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_fileset_edit( &self, edit_id: String, context: &C, ) -> Result; async fn get_fileset_history( &self, ident: String, limit: Option, context: &C, ) -> Result; async fn get_fileset_redirects( &self, ident: String, context: &C, ) -> Result; async fn get_fileset_revision( &self, rev_id: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_release( &self, ident: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_release_edit( &self, edit_id: String, context: &C, ) -> Result; async fn get_release_files( &self, ident: String, hide: Option, context: &C, ) -> Result; async fn get_release_filesets( &self, ident: String, hide: Option, context: &C, ) -> Result; async fn get_release_history( &self, ident: String, limit: Option, context: &C, ) -> Result; async fn get_release_redirects( &self, ident: String, context: &C, ) -> Result; async fn get_release_revision( &self, rev_id: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_release_webcaptures( &self, ident: String, hide: Option, context: &C, ) -> Result; async fn get_webcapture( &self, ident: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_webcapture_edit( &self, edit_id: String, context: &C, ) -> Result; async fn get_webcapture_history( &self, ident: String, limit: Option, context: &C, ) -> Result; async fn get_webcapture_redirects( &self, ident: String, context: &C, ) -> Result; async fn get_webcapture_revision( &self, rev_id: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_work( &self, ident: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn get_work_edit( &self, edit_id: String, context: &C, ) -> Result; async fn get_work_history( &self, ident: String, limit: Option, context: &C, ) -> Result; async fn get_work_redirects( &self, ident: String, context: &C, ) -> Result; async fn get_work_releases( &self, ident: String, hide: Option, context: &C, ) -> Result; async fn get_work_revision( &self, rev_id: String, expand: Option, hide: Option, context: &C, ) -> Result; async fn lookup_container( &self, issnl: Option, issne: Option, issnp: Option, issn: Option, wikidata_qid: Option, expand: Option, hide: Option, context: &C, ) -> Result; async fn lookup_creator( &self, orcid: Option, wikidata_qid: Option, expand: Option, hide: Option, context: &C, ) -> Result; async fn lookup_editor( &self, username: Option, context: &C, ) -> Result; async fn lookup_file( &self, md5: Option, sha1: Option, sha256: Option, expand: Option, hide: Option, context: &C, ) -> Result; async 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, doaj: Option, dblp: Option, oai: Option, hdl: Option, expand: Option, hide: Option, context: &C, ) -> Result; async fn update_container( &self, editgroup_id: String, ident: String, container_entity: models::ContainerEntity, context: &C, ) -> Result; async fn update_creator( &self, editgroup_id: String, ident: String, creator_entity: models::CreatorEntity, context: &C, ) -> Result; async fn update_editgroup( &self, editgroup_id: String, editgroup: models::Editgroup, submit: Option, context: &C, ) -> Result; async fn update_editor( &self, editor_id: String, editor: models::Editor, context: &C, ) -> Result; async fn update_file( &self, editgroup_id: String, ident: String, file_entity: models::FileEntity, context: &C, ) -> Result; async fn update_fileset( &self, editgroup_id: String, ident: String, fileset_entity: models::FilesetEntity, context: &C, ) -> Result; async fn update_release( &self, editgroup_id: String, ident: String, release_entity: models::ReleaseEntity, context: &C, ) -> Result; async fn update_webcapture( &self, editgroup_id: String, ident: String, webcapture_entity: models::WebcaptureEntity, context: &C, ) -> Result; async fn update_work( &self, editgroup_id: String, ident: String, work_entity: models::WorkEntity, context: &C, ) -> Result; } /// API where `Context` isn't passed on every API call #[async_trait] pub trait ApiNoContext { fn poll_ready( &self, _cx: &mut Context, ) -> Poll>>; fn context(&self) -> &C; async fn accept_editgroup( &self, editgroup_id: String, ) -> Result; async fn auth_check(&self, role: Option) -> Result; async fn auth_oidc(&self, auth_oidc: models::AuthOidc) -> Result; async fn create_auth_token( &self, editor_id: String, duration_seconds: Option, ) -> Result; async fn create_container( &self, editgroup_id: String, container_entity: models::ContainerEntity, ) -> Result; async fn create_container_auto_batch( &self, container_auto_batch: models::ContainerAutoBatch, ) -> Result; async fn create_creator( &self, editgroup_id: String, creator_entity: models::CreatorEntity, ) -> Result; async fn create_creator_auto_batch( &self, creator_auto_batch: models::CreatorAutoBatch, ) -> Result; async fn create_editgroup( &self, editgroup: models::Editgroup, ) -> Result; async fn create_editgroup_annotation( &self, editgroup_id: String, editgroup_annotation: models::EditgroupAnnotation, ) -> Result; async fn create_file( &self, editgroup_id: String, file_entity: models::FileEntity, ) -> Result; async fn create_file_auto_batch( &self, file_auto_batch: models::FileAutoBatch, ) -> Result; async fn create_fileset( &self, editgroup_id: String, fileset_entity: models::FilesetEntity, ) -> Result; async fn create_fileset_auto_batch( &self, fileset_auto_batch: models::FilesetAutoBatch, ) -> Result; async fn create_release( &self, editgroup_id: String, release_entity: models::ReleaseEntity, ) -> Result; async fn create_release_auto_batch( &self, release_auto_batch: models::ReleaseAutoBatch, ) -> Result; async fn create_webcapture( &self, editgroup_id: String, webcapture_entity: models::WebcaptureEntity, ) -> Result; async fn create_webcapture_auto_batch( &self, webcapture_auto_batch: models::WebcaptureAutoBatch, ) -> Result; async fn create_work( &self, editgroup_id: String, work_entity: models::WorkEntity, ) -> Result; async fn create_work_auto_batch( &self, work_auto_batch: models::WorkAutoBatch, ) -> Result; async fn delete_container( &self, editgroup_id: String, ident: String, ) -> Result; async fn delete_container_edit( &self, editgroup_id: String, edit_id: String, ) -> Result; async fn delete_creator( &self, editgroup_id: String, ident: String, ) -> Result; async fn delete_creator_edit( &self, editgroup_id: String, edit_id: String, ) -> Result; async fn delete_file( &self, editgroup_id: String, ident: String, ) -> Result; async fn delete_file_edit( &self, editgroup_id: String, edit_id: String, ) -> Result; async fn delete_fileset( &self, editgroup_id: String, ident: String, ) -> Result; async fn delete_fileset_edit( &self, editgroup_id: String, edit_id: String, ) -> Result; async fn delete_release( &self, editgroup_id: String, ident: String, ) -> Result; async fn delete_release_edit( &self, editgroup_id: String, edit_id: String, ) -> Result; async fn delete_webcapture( &self, editgroup_id: String, ident: String, ) -> Result; async fn delete_webcapture_edit( &self, editgroup_id: String, edit_id: String, ) -> Result; async fn delete_work( &self, editgroup_id: String, ident: String, ) -> Result; async fn delete_work_edit( &self, editgroup_id: String, edit_id: String, ) -> Result; async fn get_changelog(&self, limit: Option) -> Result; async fn get_changelog_entry(&self, index: i64) -> Result; async fn get_container( &self, ident: String, expand: Option, hide: Option, ) -> Result; async fn get_container_edit( &self, edit_id: String, ) -> Result; async fn get_container_history( &self, ident: String, limit: Option, ) -> Result; async fn get_container_redirects( &self, ident: String, ) -> Result; async fn get_container_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result; async fn get_creator( &self, ident: String, expand: Option, hide: Option, ) -> Result; async fn get_creator_edit(&self, edit_id: String) -> Result; async fn get_creator_history( &self, ident: String, limit: Option, ) -> Result; async fn get_creator_redirects( &self, ident: String, ) -> Result; async fn get_creator_releases( &self, ident: String, hide: Option, ) -> Result; async fn get_creator_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result; async fn get_editgroup(&self, editgroup_id: String) -> Result; async fn get_editgroup_annotations( &self, editgroup_id: String, expand: Option, ) -> Result; async fn get_editgroups_reviewable( &self, expand: Option, limit: Option, before: Option>, since: Option>, ) -> Result; async fn get_editor(&self, editor_id: String) -> Result; async fn get_editor_annotations( &self, editor_id: String, limit: Option, before: Option>, since: Option>, ) -> Result; async fn get_editor_editgroups( &self, editor_id: String, limit: Option, before: Option>, since: Option>, ) -> Result; async fn get_file( &self, ident: String, expand: Option, hide: Option, ) -> Result; async fn get_file_edit(&self, edit_id: String) -> Result; async fn get_file_history( &self, ident: String, limit: Option, ) -> Result; async fn get_file_redirects(&self, ident: String) -> Result; async fn get_file_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result; async fn get_fileset( &self, ident: String, expand: Option, hide: Option, ) -> Result; async fn get_fileset_edit(&self, edit_id: String) -> Result; async fn get_fileset_history( &self, ident: String, limit: Option, ) -> Result; async fn get_fileset_redirects( &self, ident: String, ) -> Result; async fn get_fileset_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result; async fn get_release( &self, ident: String, expand: Option, hide: Option, ) -> Result; async fn get_release_edit(&self, edit_id: String) -> Result; async fn get_release_files( &self, ident: String, hide: Option, ) -> Result; async fn get_release_filesets( &self, ident: String, hide: Option, ) -> Result; async fn get_release_history( &self, ident: String, limit: Option, ) -> Result; async fn get_release_redirects( &self, ident: String, ) -> Result; async fn get_release_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result; async fn get_release_webcaptures( &self, ident: String, hide: Option, ) -> Result; async fn get_webcapture( &self, ident: String, expand: Option, hide: Option, ) -> Result; async fn get_webcapture_edit( &self, edit_id: String, ) -> Result; async fn get_webcapture_history( &self, ident: String, limit: Option, ) -> Result; async fn get_webcapture_redirects( &self, ident: String, ) -> Result; async fn get_webcapture_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result; async fn get_work( &self, ident: String, expand: Option, hide: Option, ) -> Result; async fn get_work_edit(&self, edit_id: String) -> Result; async fn get_work_history( &self, ident: String, limit: Option, ) -> Result; async fn get_work_redirects(&self, ident: String) -> Result; async fn get_work_releases( &self, ident: String, hide: Option, ) -> Result; async fn get_work_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result; async fn lookup_container( &self, issnl: Option, issne: Option, issnp: Option, issn: Option, wikidata_qid: Option, expand: Option, hide: Option, ) -> Result; async fn lookup_creator( &self, orcid: Option, wikidata_qid: Option, expand: Option, hide: Option, ) -> Result; async fn lookup_editor( &self, username: Option, ) -> Result; async fn lookup_file( &self, md5: Option, sha1: Option, sha256: Option, expand: Option, hide: Option, ) -> Result; async 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, doaj: Option, dblp: Option, oai: Option, hdl: Option, expand: Option, hide: Option, ) -> Result; async fn update_container( &self, editgroup_id: String, ident: String, container_entity: models::ContainerEntity, ) -> Result; async fn update_creator( &self, editgroup_id: String, ident: String, creator_entity: models::CreatorEntity, ) -> Result; async fn update_editgroup( &self, editgroup_id: String, editgroup: models::Editgroup, submit: Option, ) -> Result; async fn update_editor( &self, editor_id: String, editor: models::Editor, ) -> Result; async fn update_file( &self, editgroup_id: String, ident: String, file_entity: models::FileEntity, ) -> Result; async fn update_fileset( &self, editgroup_id: String, ident: String, fileset_entity: models::FilesetEntity, ) -> Result; async fn update_release( &self, editgroup_id: String, ident: String, release_entity: models::ReleaseEntity, ) -> Result; async fn update_webcapture( &self, editgroup_id: String, ident: String, webcapture_entity: models::WebcaptureEntity, ) -> Result; async fn update_work( &self, editgroup_id: String, ident: String, work_entity: models::WorkEntity, ) -> Result; } /// Trait to extend an API to make it easy to bind it to a context. pub trait ContextWrapperExt where Self: Sized, { /// Binds this API to a context. fn with_context(self: Self, context: C) -> ContextWrapper; } impl + Send + Sync, C: Clone + Send + Sync> ContextWrapperExt for T { fn with_context(self: T, context: C) -> ContextWrapper { ContextWrapper::::new(self, context) } } #[async_trait] impl + Send + Sync, C: Clone + Send + Sync> ApiNoContext for ContextWrapper { fn poll_ready(&self, cx: &mut Context) -> Poll> { self.api().poll_ready(cx) } fn context(&self) -> &C { ContextWrapper::context(self) } async fn accept_editgroup( &self, editgroup_id: String, ) -> Result { let context = self.context().clone(); self.api().accept_editgroup(editgroup_id, &context).await } async fn auth_check(&self, role: Option) -> Result { let context = self.context().clone(); self.api().auth_check(role, &context).await } async fn auth_oidc(&self, auth_oidc: models::AuthOidc) -> Result { let context = self.context().clone(); self.api().auth_oidc(auth_oidc, &context).await } async fn create_auth_token( &self, editor_id: String, duration_seconds: Option, ) -> Result { let context = self.context().clone(); self.api() .create_auth_token(editor_id, duration_seconds, &context) .await } async fn create_container( &self, editgroup_id: String, container_entity: models::ContainerEntity, ) -> Result { let context = self.context().clone(); self.api() .create_container(editgroup_id, container_entity, &context) .await } async fn create_container_auto_batch( &self, container_auto_batch: models::ContainerAutoBatch, ) -> Result { let context = self.context().clone(); self.api() .create_container_auto_batch(container_auto_batch, &context) .await } async fn create_creator( &self, editgroup_id: String, creator_entity: models::CreatorEntity, ) -> Result { let context = self.context().clone(); self.api() .create_creator(editgroup_id, creator_entity, &context) .await } async fn create_creator_auto_batch( &self, creator_auto_batch: models::CreatorAutoBatch, ) -> Result { let context = self.context().clone(); self.api() .create_creator_auto_batch(creator_auto_batch, &context) .await } async fn create_editgroup( &self, editgroup: models::Editgroup, ) -> Result { let context = self.context().clone(); self.api().create_editgroup(editgroup, &context).await } async fn create_editgroup_annotation( &self, editgroup_id: String, editgroup_annotation: models::EditgroupAnnotation, ) -> Result { let context = self.context().clone(); self.api() .create_editgroup_annotation(editgroup_id, editgroup_annotation, &context) .await } async fn create_file( &self, editgroup_id: String, file_entity: models::FileEntity, ) -> Result { let context = self.context().clone(); self.api() .create_file(editgroup_id, file_entity, &context) .await } async fn create_file_auto_batch( &self, file_auto_batch: models::FileAutoBatch, ) -> Result { let context = self.context().clone(); self.api() .create_file_auto_batch(file_auto_batch, &context) .await } async fn create_fileset( &self, editgroup_id: String, fileset_entity: models::FilesetEntity, ) -> Result { let context = self.context().clone(); self.api() .create_fileset(editgroup_id, fileset_entity, &context) .await } async fn create_fileset_auto_batch( &self, fileset_auto_batch: models::FilesetAutoBatch, ) -> Result { let context = self.context().clone(); self.api() .create_fileset_auto_batch(fileset_auto_batch, &context) .await } async fn create_release( &self, editgroup_id: String, release_entity: models::ReleaseEntity, ) -> Result { let context = self.context().clone(); self.api() .create_release(editgroup_id, release_entity, &context) .await } async fn create_release_auto_batch( &self, release_auto_batch: models::ReleaseAutoBatch, ) -> Result { let context = self.context().clone(); self.api() .create_release_auto_batch(release_auto_batch, &context) .await } async fn create_webcapture( &self, editgroup_id: String, webcapture_entity: models::WebcaptureEntity, ) -> Result { let context = self.context().clone(); self.api() .create_webcapture(editgroup_id, webcapture_entity, &context) .await } async fn create_webcapture_auto_batch( &self, webcapture_auto_batch: models::WebcaptureAutoBatch, ) -> Result { let context = self.context().clone(); self.api() .create_webcapture_auto_batch(webcapture_auto_batch, &context) .await } async fn create_work( &self, editgroup_id: String, work_entity: models::WorkEntity, ) -> Result { let context = self.context().clone(); self.api() .create_work(editgroup_id, work_entity, &context) .await } async fn create_work_auto_batch( &self, work_auto_batch: models::WorkAutoBatch, ) -> Result { let context = self.context().clone(); self.api() .create_work_auto_batch(work_auto_batch, &context) .await } async fn delete_container( &self, editgroup_id: String, ident: String, ) -> Result { let context = self.context().clone(); self.api() .delete_container(editgroup_id, ident, &context) .await } async fn delete_container_edit( &self, editgroup_id: String, edit_id: String, ) -> Result { let context = self.context().clone(); self.api() .delete_container_edit(editgroup_id, edit_id, &context) .await } async fn delete_creator( &self, editgroup_id: String, ident: String, ) -> Result { let context = self.context().clone(); self.api() .delete_creator(editgroup_id, ident, &context) .await } async fn delete_creator_edit( &self, editgroup_id: String, edit_id: String, ) -> Result { let context = self.context().clone(); self.api() .delete_creator_edit(editgroup_id, edit_id, &context) .await } async fn delete_file( &self, editgroup_id: String, ident: String, ) -> Result { let context = self.context().clone(); self.api().delete_file(editgroup_id, ident, &context).await } async fn delete_file_edit( &self, editgroup_id: String, edit_id: String, ) -> Result { let context = self.context().clone(); self.api() .delete_file_edit(editgroup_id, edit_id, &context) .await } async fn delete_fileset( &self, editgroup_id: String, ident: String, ) -> Result { let context = self.context().clone(); self.api() .delete_fileset(editgroup_id, ident, &context) .await } async fn delete_fileset_edit( &self, editgroup_id: String, edit_id: String, ) -> Result { let context = self.context().clone(); self.api() .delete_fileset_edit(editgroup_id, edit_id, &context) .await } async fn delete_release( &self, editgroup_id: String, ident: String, ) -> Result { let context = self.context().clone(); self.api() .delete_release(editgroup_id, ident, &context) .await } async fn delete_release_edit( &self, editgroup_id: String, edit_id: String, ) -> Result { let context = self.context().clone(); self.api() .delete_release_edit(editgroup_id, edit_id, &context) .await } async fn delete_webcapture( &self, editgroup_id: String, ident: String, ) -> Result { let context = self.context().clone(); self.api() .delete_webcapture(editgroup_id, ident, &context) .await } async fn delete_webcapture_edit( &self, editgroup_id: String, edit_id: String, ) -> Result { let context = self.context().clone(); self.api() .delete_webcapture_edit(editgroup_id, edit_id, &context) .await } async fn delete_work( &self, editgroup_id: String, ident: String, ) -> Result { let context = self.context().clone(); self.api().delete_work(editgroup_id, ident, &context).await } async fn delete_work_edit( &self, editgroup_id: String, edit_id: String, ) -> Result { let context = self.context().clone(); self.api() .delete_work_edit(editgroup_id, edit_id, &context) .await } async fn get_changelog(&self, limit: Option) -> Result { let context = self.context().clone(); self.api().get_changelog(limit, &context).await } async fn get_changelog_entry(&self, index: i64) -> Result { let context = self.context().clone(); self.api().get_changelog_entry(index, &context).await } async fn get_container( &self, ident: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .get_container(ident, expand, hide, &context) .await } async fn get_container_edit( &self, edit_id: String, ) -> Result { let context = self.context().clone(); self.api().get_container_edit(edit_id, &context).await } async fn get_container_history( &self, ident: String, limit: Option, ) -> Result { let context = self.context().clone(); self.api() .get_container_history(ident, limit, &context) .await } async fn get_container_redirects( &self, ident: String, ) -> Result { let context = self.context().clone(); self.api().get_container_redirects(ident, &context).await } async fn get_container_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .get_container_revision(rev_id, expand, hide, &context) .await } async fn get_creator( &self, ident: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api().get_creator(ident, expand, hide, &context).await } async fn get_creator_edit(&self, edit_id: String) -> Result { let context = self.context().clone(); self.api().get_creator_edit(edit_id, &context).await } async fn get_creator_history( &self, ident: String, limit: Option, ) -> Result { let context = self.context().clone(); self.api().get_creator_history(ident, limit, &context).await } async fn get_creator_redirects( &self, ident: String, ) -> Result { let context = self.context().clone(); self.api().get_creator_redirects(ident, &context).await } async fn get_creator_releases( &self, ident: String, hide: Option, ) -> Result { let context = self.context().clone(); self.api().get_creator_releases(ident, hide, &context).await } async fn get_creator_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .get_creator_revision(rev_id, expand, hide, &context) .await } async fn get_editgroup(&self, editgroup_id: String) -> Result { let context = self.context().clone(); self.api().get_editgroup(editgroup_id, &context).await } async fn get_editgroup_annotations( &self, editgroup_id: String, expand: Option, ) -> Result { let context = self.context().clone(); self.api() .get_editgroup_annotations(editgroup_id, expand, &context) .await } async fn get_editgroups_reviewable( &self, expand: Option, limit: Option, before: Option>, since: Option>, ) -> Result { let context = self.context().clone(); self.api() .get_editgroups_reviewable(expand, limit, before, since, &context) .await } async fn get_editor(&self, editor_id: String) -> Result { let context = self.context().clone(); self.api().get_editor(editor_id, &context).await } async fn get_editor_annotations( &self, editor_id: String, limit: Option, before: Option>, since: Option>, ) -> Result { let context = self.context().clone(); self.api() .get_editor_annotations(editor_id, limit, before, since, &context) .await } async fn get_editor_editgroups( &self, editor_id: String, limit: Option, before: Option>, since: Option>, ) -> Result { let context = self.context().clone(); self.api() .get_editor_editgroups(editor_id, limit, before, since, &context) .await } async fn get_file( &self, ident: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api().get_file(ident, expand, hide, &context).await } async fn get_file_edit(&self, edit_id: String) -> Result { let context = self.context().clone(); self.api().get_file_edit(edit_id, &context).await } async fn get_file_history( &self, ident: String, limit: Option, ) -> Result { let context = self.context().clone(); self.api().get_file_history(ident, limit, &context).await } async fn get_file_redirects( &self, ident: String, ) -> Result { let context = self.context().clone(); self.api().get_file_redirects(ident, &context).await } async fn get_file_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .get_file_revision(rev_id, expand, hide, &context) .await } async fn get_fileset( &self, ident: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api().get_fileset(ident, expand, hide, &context).await } async fn get_fileset_edit(&self, edit_id: String) -> Result { let context = self.context().clone(); self.api().get_fileset_edit(edit_id, &context).await } async fn get_fileset_history( &self, ident: String, limit: Option, ) -> Result { let context = self.context().clone(); self.api().get_fileset_history(ident, limit, &context).await } async fn get_fileset_redirects( &self, ident: String, ) -> Result { let context = self.context().clone(); self.api().get_fileset_redirects(ident, &context).await } async fn get_fileset_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .get_fileset_revision(rev_id, expand, hide, &context) .await } async fn get_release( &self, ident: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api().get_release(ident, expand, hide, &context).await } async fn get_release_edit(&self, edit_id: String) -> Result { let context = self.context().clone(); self.api().get_release_edit(edit_id, &context).await } async fn get_release_files( &self, ident: String, hide: Option, ) -> Result { let context = self.context().clone(); self.api().get_release_files(ident, hide, &context).await } async fn get_release_filesets( &self, ident: String, hide: Option, ) -> Result { let context = self.context().clone(); self.api().get_release_filesets(ident, hide, &context).await } async fn get_release_history( &self, ident: String, limit: Option, ) -> Result { let context = self.context().clone(); self.api().get_release_history(ident, limit, &context).await } async fn get_release_redirects( &self, ident: String, ) -> Result { let context = self.context().clone(); self.api().get_release_redirects(ident, &context).await } async fn get_release_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .get_release_revision(rev_id, expand, hide, &context) .await } async fn get_release_webcaptures( &self, ident: String, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .get_release_webcaptures(ident, hide, &context) .await } async fn get_webcapture( &self, ident: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .get_webcapture(ident, expand, hide, &context) .await } async fn get_webcapture_edit( &self, edit_id: String, ) -> Result { let context = self.context().clone(); self.api().get_webcapture_edit(edit_id, &context).await } async fn get_webcapture_history( &self, ident: String, limit: Option, ) -> Result { let context = self.context().clone(); self.api() .get_webcapture_history(ident, limit, &context) .await } async fn get_webcapture_redirects( &self, ident: String, ) -> Result { let context = self.context().clone(); self.api().get_webcapture_redirects(ident, &context).await } async fn get_webcapture_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .get_webcapture_revision(rev_id, expand, hide, &context) .await } async fn get_work( &self, ident: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api().get_work(ident, expand, hide, &context).await } async fn get_work_edit(&self, edit_id: String) -> Result { let context = self.context().clone(); self.api().get_work_edit(edit_id, &context).await } async fn get_work_history( &self, ident: String, limit: Option, ) -> Result { let context = self.context().clone(); self.api().get_work_history(ident, limit, &context).await } async fn get_work_redirects( &self, ident: String, ) -> Result { let context = self.context().clone(); self.api().get_work_redirects(ident, &context).await } async fn get_work_releases( &self, ident: String, hide: Option, ) -> Result { let context = self.context().clone(); self.api().get_work_releases(ident, hide, &context).await } async fn get_work_revision( &self, rev_id: String, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .get_work_revision(rev_id, expand, hide, &context) .await } async fn lookup_container( &self, issnl: Option, issne: Option, issnp: Option, issn: Option, wikidata_qid: Option, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .lookup_container( issnl, issne, issnp, issn, wikidata_qid, expand, hide, &context, ) .await } async fn lookup_creator( &self, orcid: Option, wikidata_qid: Option, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .lookup_creator(orcid, wikidata_qid, expand, hide, &context) .await } async fn lookup_editor( &self, username: Option, ) -> Result { let context = self.context().clone(); self.api().lookup_editor(username, &context).await } async fn lookup_file( &self, md5: Option, sha1: Option, sha256: Option, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .lookup_file(md5, sha1, sha256, expand, hide, &context) .await } async 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, doaj: Option, dblp: Option, oai: Option, hdl: Option, expand: Option, hide: Option, ) -> Result { let context = self.context().clone(); self.api() .lookup_release( doi, wikidata_qid, isbn13, pmid, pmcid, core, arxiv, jstor, ark, mag, doaj, dblp, oai, hdl, expand, hide, &context, ) .await } async fn update_container( &self, editgroup_id: String, ident: String, container_entity: models::ContainerEntity, ) -> Result { let context = self.context().clone(); self.api() .update_container(editgroup_id, ident, container_entity, &context) .await } async fn update_creator( &self, editgroup_id: String, ident: String, creator_entity: models::CreatorEntity, ) -> Result { let context = self.context().clone(); self.api() .update_creator(editgroup_id, ident, creator_entity, &context) .await } async fn update_editgroup( &self, editgroup_id: String, editgroup: models::Editgroup, submit: Option, ) -> Result { let context = self.context().clone(); self.api() .update_editgroup(editgroup_id, editgroup, submit, &context) .await } async fn update_editor( &self, editor_id: String, editor: models::Editor, ) -> Result { let context = self.context().clone(); self.api().update_editor(editor_id, editor, &context).await } async fn update_file( &self, editgroup_id: String, ident: String, file_entity: models::FileEntity, ) -> Result { let context = self.context().clone(); self.api() .update_file(editgroup_id, ident, file_entity, &context) .await } async fn update_fileset( &self, editgroup_id: String, ident: String, fileset_entity: models::FilesetEntity, ) -> Result { let context = self.context().clone(); self.api() .update_fileset(editgroup_id, ident, fileset_entity, &context) .await } async fn update_release( &self, editgroup_id: String, ident: String, release_entity: models::ReleaseEntity, ) -> Result { let context = self.context().clone(); self.api() .update_release(editgroup_id, ident, release_entity, &context) .await } async fn update_webcapture( &self, editgroup_id: String, ident: String, webcapture_entity: models::WebcaptureEntity, ) -> Result { let context = self.context().clone(); self.api() .update_webcapture(editgroup_id, ident, webcapture_entity, &context) .await } async fn update_work( &self, editgroup_id: String, ident: String, work_entity: models::WorkEntity, ) -> Result { let context = self.context().clone(); self.api() .update_work(editgroup_id, ident, work_entity, &context) .await } } #[cfg(feature = "client")] pub mod client; // Re-export Client as a top-level name #[cfg(feature = "client")] pub use client::Client; #[cfg(feature = "server")] pub mod server; // Re-export router() as a top-level name #[cfg(feature = "server")] pub use self::server::Service; #[cfg(feature = "server")] pub mod context; pub mod models; #[cfg(any(feature = "client", feature = "server"))] pub(crate) mod header;