use conjure_http::endpoint;
/// Public API for querying ingest jobs.
#[conjure_http::conjure_endpoints(
    name = "IngestJobService",
    use_legacy_error_serialization
)]
pub trait IngestJobService {
    /// Returns a single ingest job by RID. Does not include the full ingest request details.
    #[endpoint(
        method = GET,
        path = "/ingest/v1/ingest-job/{ingestJobRid}",
        name = "getIngestJob",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn get_ingest_job(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[path(
            name = "ingestJobRid",
            decoder = conjure_http::server::conjure::FromPlainDecoder,
            log_as = "ingestJobRid"
        )]
        ingest_job_rid: conjure_object::ResourceIdentifier,
    ) -> Result<
        super::super::super::super::objects::ingest::api::IngestJob,
        conjure_http::private::Error,
    >;
    /// Returns a paginated list of ingest jobs, optionally filtered by dataset.
    #[endpoint(
        method = POST,
        path = "/ingest/v1/ingest-jobs/search",
        name = "searchIngestJobs",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn search_ingest_jobs(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::objects::ingest::api::SearchIngestJobsRequest,
    ) -> Result<
        super::super::super::super::objects::ingest::api::SearchIngestJobsResponse,
        conjure_http::private::Error,
    >;
}
/// Public API for querying ingest jobs.
#[conjure_http::conjure_endpoints(
    name = "IngestJobService",
    use_legacy_error_serialization
)]
pub trait AsyncIngestJobService {
    /// Returns a single ingest job by RID. Does not include the full ingest request details.
    #[endpoint(
        method = GET,
        path = "/ingest/v1/ingest-job/{ingestJobRid}",
        name = "getIngestJob",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn get_ingest_job(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[path(
            name = "ingestJobRid",
            decoder = conjure_http::server::conjure::FromPlainDecoder,
            log_as = "ingestJobRid"
        )]
        ingest_job_rid: conjure_object::ResourceIdentifier,
    ) -> Result<
        super::super::super::super::objects::ingest::api::IngestJob,
        conjure_http::private::Error,
    >;
    /// Returns a paginated list of ingest jobs, optionally filtered by dataset.
    #[endpoint(
        method = POST,
        path = "/ingest/v1/ingest-jobs/search",
        name = "searchIngestJobs",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn search_ingest_jobs(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::objects::ingest::api::SearchIngestJobsRequest,
    ) -> Result<
        super::super::super::super::objects::ingest::api::SearchIngestJobsResponse,
        conjure_http::private::Error,
    >;
}
/// Public API for querying ingest jobs.
#[conjure_http::conjure_endpoints(
    name = "IngestJobService",
    use_legacy_error_serialization,
    local
)]
pub trait LocalAsyncIngestJobService {
    /// Returns a single ingest job by RID. Does not include the full ingest request details.
    #[endpoint(
        method = GET,
        path = "/ingest/v1/ingest-job/{ingestJobRid}",
        name = "getIngestJob",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn get_ingest_job(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[path(
            name = "ingestJobRid",
            decoder = conjure_http::server::conjure::FromPlainDecoder,
            log_as = "ingestJobRid"
        )]
        ingest_job_rid: conjure_object::ResourceIdentifier,
    ) -> Result<
        super::super::super::super::objects::ingest::api::IngestJob,
        conjure_http::private::Error,
    >;
    /// Returns a paginated list of ingest jobs, optionally filtered by dataset.
    #[endpoint(
        method = POST,
        path = "/ingest/v1/ingest-jobs/search",
        name = "searchIngestJobs",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn search_ingest_jobs(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::objects::ingest::api::SearchIngestJobsRequest,
    ) -> Result<
        super::super::super::super::objects::ingest::api::SearchIngestJobsResponse,
        conjure_http::private::Error,
    >;
}
