thoth-api 0.2.1

GraphQL API for bibliographic data
Documentation
table! {
    use diesel::sql_types::*;

    account (account_id) {
        account_id -> Uuid,
        name -> Text,
        surname -> Text,
        email -> Text,
        hash -> Bytea,
        salt -> Text,
        is_admin -> Bool,
        is_bot -> Bool,
        is_active -> Bool,
        registered -> Timestamp,
        token -> Nullable<Text>,
    }
}

table! {
    use diesel::sql_types::*;
    use crate::contribution::model::Contribution_type;

    contribution (work_id, contributor_id, contribution_type) {
        work_id -> Uuid,
        contributor_id -> Uuid,
        contribution_type -> Contribution_type,
        main_contribution -> Bool,
        biography -> Nullable<Text>,
        institution -> Nullable<Text>,
    }
}

table! {
    use diesel::sql_types::*;

    contributor (contributor_id) {
        contributor_id -> Uuid,
        first_name -> Nullable<Text>,
        last_name -> Text,
        full_name -> Text,
        orcid -> Nullable<Text>,
        website -> Nullable<Text>,
    }
}

table! {
    use diesel::sql_types::*;

    funder (funder_id) {
        funder_id -> Uuid,
        funder_name -> Text,
        funder_doi -> Nullable<Text>,
    }
}

table! {
    use diesel::sql_types::*;

    funding (funding_id) {
        funding_id -> Uuid,
        work_id -> Uuid,
        funder_id -> Uuid,
        program -> Nullable<Text>,
        project_name -> Nullable<Text>,
        project_shortname -> Nullable<Text>,
        grant_number -> Nullable<Text>,
        jurisdiction -> Nullable<Text>,
    }
}

table! {
    use diesel::sql_types::*;

    imprint (imprint_id) {
        imprint_id -> Uuid,
        publisher_id -> Uuid,
        imprint_name -> Text,
        imprint_url -> Nullable<Text>,
    }
}

table! {
    use diesel::sql_types::*;

    issue (series_id, work_id) {
        series_id -> Uuid,
        work_id -> Uuid,
        issue_ordinal -> Int4,
    }
}

table! {
    use diesel::sql_types::*;
    use crate::language::model::Language_relation;
    use crate::language::model::Language_code;

    language (language_id) {
        language_id -> Uuid,
        work_id -> Uuid,
        language_code -> Language_code,
        language_relation -> Language_relation,
        main_language -> Bool,
    }
}

table! {
    use diesel::sql_types::*;
    use crate::price::model::Currency_code;

    price (price_id) {
        price_id -> Uuid,
        publication_id -> Uuid,
        currency_code -> Currency_code,
        unit_price -> Float8,
    }
}

table! {
    use diesel::sql_types::*;
    use crate::publication::model::Publication_type;

    publication (publication_id) {
        publication_id -> Uuid,
        publication_type -> Publication_type,
        work_id -> Uuid,
        isbn -> Nullable<Text>,
        publication_url -> Nullable<Text>,
    }
}

table! {
    use diesel::sql_types::*;

    publisher (publisher_id) {
        publisher_id -> Uuid,
        publisher_name -> Text,
        publisher_shortname -> Nullable<Text>,
        publisher_url -> Nullable<Text>,
    }
}

table! {
    use diesel::sql_types::*;
    use crate::series::model::Series_type;

    series (series_id) {
        series_id -> Uuid,
        series_type -> Series_type,
        series_name -> Text,
        issn_print -> Text,
        issn_digital -> Text,
        series_url -> Nullable<Text>,
        imprint_id -> Uuid,
    }
}

table! {
    use diesel::sql_types::*;
    use crate::subject::model::Subject_type;

    subject (subject_id) {
        subject_id -> Uuid,
        work_id -> Uuid,
        subject_type -> Subject_type,
        subject_code -> Text,
        subject_ordinal -> Int4,
    }
}

table! {
    use diesel::sql_types::*;
    use crate::work::model::Work_type;
    use crate::work::model::Work_status;

    work (work_id) {
        work_id -> Uuid,
        work_type -> Work_type,
        work_status -> Work_status,
        full_title -> Text,
        title -> Text,
        subtitle -> Nullable<Text>,
        reference -> Nullable<Text>,
        edition -> Int4,
        imprint_id -> Uuid,
        doi -> Nullable<Text>,
        publication_date -> Nullable<Date>,
        place -> Nullable<Text>,
        width -> Nullable<Int4>,
        height -> Nullable<Int4>,
        page_count -> Nullable<Int4>,
        page_breakdown -> Nullable<Text>,
        image_count -> Nullable<Int4>,
        table_count -> Nullable<Int4>,
        audio_count -> Nullable<Int4>,
        video_count -> Nullable<Int4>,
        license -> Nullable<Text>,
        copyright_holder -> Text,
        landing_page -> Nullable<Text>,
        lccn -> Nullable<Int4>,
        oclc -> Nullable<Int4>,
        short_abstract -> Nullable<Text>,
        long_abstract -> Nullable<Text>,
        general_note -> Nullable<Text>,
        toc -> Nullable<Text>,
        cover_url -> Nullable<Text>,
        cover_caption -> Nullable<Text>,
    }
}

joinable!(contribution -> contributor (contributor_id));
joinable!(contribution -> work (work_id));
joinable!(funding -> funder (funder_id));
joinable!(funding -> work (work_id));
joinable!(imprint -> publisher (publisher_id));
joinable!(issue -> series (series_id));
joinable!(issue -> work (work_id));
joinable!(language -> work (work_id));
joinable!(price -> publication (publication_id));
joinable!(publication -> work (work_id));
joinable!(series -> imprint (imprint_id));
joinable!(subject -> work (work_id));
joinable!(work -> imprint (imprint_id));

allow_tables_to_appear_in_same_query!(
    contribution,
    contributor,
    funder,
    funding,
    imprint,
    issue,
    language,
    price,
    publication,
    publisher,
    series,
    subject,
    work,
);