Fork channel

Create a new channel as a copy of main.

Rename channel

Rename main to:

Delete channel

Delete main? This cannot be undone.

db.rs
// @generated automatically by Diesel CLI.

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    ci_contracts (id) {
        id -> Uuid,
        repository -> Nullable<Uuid>,
        user_id -> Nullable<Uuid>,
        start_date -> Nullable<Timestamptz>,
        end_date -> Nullable<Timestamptz>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    ci_jobs (id) {
        id -> Uuid,
        submitted -> Nullable<Timestamptz>,
        repository -> Nullable<Uuid>,
        channel -> Nullable<Text>,
        state -> Nullable<Text>,
        extra_patches -> Nullable<Array<Nullable<Text>>>,
        worker -> Nullable<Int8>,
        completed -> Nullable<Timestamptz>,
        path -> Nullable<Text>,
        status -> Nullable<Int4>,
        apply_if_success -> Nullable<Bool>,
        report_to -> Nullable<Uuid>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    comments (id) {
        id -> Uuid,
        discussion_id -> Uuid,
        author -> Nullable<Uuid>,
        contents -> Text,
        creation_ip -> Inet,
        creation_date -> Timestamptz,
        cached_html -> Text,
        uniq -> Int8,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    contributors (repo, key) {
        repo -> Uuid,
        key -> Bytea,
        revision -> Timestamptz,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    discussion_changes (id) {
        id -> Uuid,
        change -> Text,
        discussion -> Uuid,
        pushed_by -> Nullable<Uuid>,
        added -> Timestamptz,
        removed -> Nullable<Timestamptz>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    discussion_subscriptions (id) {
        id -> Uuid,
        user_id -> Uuid,
        discussion_id -> Uuid,
        start_date -> Nullable<Timestamptz>,
        end_date -> Nullable<Timestamptz>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    discussion_tags (id) {
        id -> Uuid,
        discussion -> Uuid,
        tag -> Nullable<Uuid>,
        author -> Nullable<Uuid>,
        date -> Timestamptz,
        active -> Bool,
        addition -> Bool,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    discussions (id) {
        id -> Uuid,
        repository_id -> Uuid,
        title -> Text,
        author -> Nullable<Uuid>,
        creation_ip -> Inet,
        creation_date -> Timestamptz,
        number -> Int4,
        pull_to_branch -> Nullable<Text>,
        first_patch -> Nullable<Int4>,
        n_changes -> Int4,
        changes -> Int4,
        closed -> Nullable<Timestamptz>,
        uniq -> Int8,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    email_log (time) {
        time -> Timestamptz,
        discussion -> Uuid,
        email -> Text,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    hooks (id) {
        id -> Uuid,
        repository -> Uuid,
        author -> Uuid,
        creation_date -> Timestamptz,
        active -> Bool,
        secret -> Text,
        url -> Text,
        action -> Nullable<Int8>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    jobs (id) {
        id -> Uuid,
        repo -> Uuid,
        started -> Timestamptz,
        ended -> Nullable<Timestamptz>,
        status -> Nullable<Int4>,
        repo_state -> Nullable<Text>,
        channel -> Text,
        script -> Nullable<Text>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    mfa_challenges (id) {
        id -> Uuid,
        time -> Nullable<Timestamptz>,
        user_id -> Nullable<Uuid>,
        challenge -> Nullable<Json>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    password_failures (date) {
        date -> Timestamptz,
        ip -> Inet,
        login -> Text,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    permissions (user_id, repo_id) {
        user_id -> Uuid,
        repo_id -> Uuid,
        perm -> Int8,
        start_date -> Timestamptz,
        end_date -> Nullable<Timestamptz>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    profile_pics (user_id) {
        user_id -> Uuid,
        updated -> Timestamptz,
        format -> Text,
        image -> Bytea,
        small -> Bytea,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    publickeys (id) {
        id -> Uuid,
        user_id -> Uuid,
        publickey -> Text,
        bin -> Nullable<Bytea>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    repositories (id) {
        id -> Uuid,
        owner -> Uuid,
        name -> Text,
        creation_ip -> Nullable<Inet>,
        fork_origin -> Nullable<Uuid>,
        creation_date -> Timestamptz,
        next_discussion_number -> Int4,
        default_channel -> Text,
        description -> Nullable<Text>,
        is_active -> Bool,
        max_changes_size -> Int8,
        n_followers -> Int8,
        last_pushed -> Timestamptz,
        last_discussed -> Timestamptz,
        rank -> Float8,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    repository_followers (repository_id, user_id) {
        repository_id -> Uuid,
        user_id -> Uuid,
        start_date -> Nullable<Timestamptz>,
        end_date -> Nullable<Timestamptz>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    review_approvals (id) {
        id -> Uuid,
        review -> Nullable<Uuid>,
        date -> Nullable<Timestamptz>,
        channel -> Nullable<Text>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    review_comments (id) {
        id -> Uuid,
        review -> Nullable<Uuid>,
        date -> Nullable<Timestamptz>,
        hunk -> Nullable<Int4>,
        sub -> Nullable<Int4>,
        l0 -> Nullable<Int4>,
        l1 -> Nullable<Int4>,
        contents -> Nullable<Text>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    reviews (id) {
        id -> Uuid,
        hash -> Nullable<Text>,
        repository -> Nullable<Uuid>,
        author -> Nullable<Uuid>,
        public -> Nullable<Bool>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    schema_migrations (version) {
        #[max_length = 255]
        version -> Varchar,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    signingkeys (public_key) {
        public_key -> Bytea,
        user_id -> Uuid,
        algorithm -> Keyalgorithm,
        signature -> Bytea,
        expires -> Nullable<Timestamptz>,
        added -> Timestamptz,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    spam_exceptions (email) {
        email -> Text,
        date -> Nullable<Timestamptz>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    stripe_invoice (invoice_id) {
        invoice_id -> Text,
        time -> Nullable<Timestamptz>,
        user_id -> Nullable<Uuid>,
        hosted -> Nullable<Text>,
        pdf -> Nullable<Text>,
        amount -> Nullable<Int4>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    stripe_log (time) {
        time -> Timestamp,
        userid -> Nullable<Uuid>,
        op -> Nullable<Text>,
        val -> Nullable<Int4>,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    tags (id) {
        id -> Uuid,
        repository_id -> Uuid,
        name -> Text,
        creation_date -> Timestamptz,
        deletion_date -> Nullable<Timestamptz>,
        color -> Int4,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    tokens (token) {
        token -> Bytea,
        user_id -> Uuid,
        date -> Timestamp,
    }
}

diesel::table! {
    use diesel::sql_types::*;
    use diesel::pg::sql_types::*;
    use crate::{Keyalgorithm};

    users (id) {
        id -> Uuid,
        login -> Citext,
        password -> Text,
        email -> Citext,
        email_is_invalid -> Nullable<Bool>,
        creation_date -> Timestamptz,
        is_active -> Bool,
        name -> Nullable<Text>,
        creation_ip -> Nullable<Inet>,
        last_identity_change -> Nullable<Timestamptz>,
        storage_used -> Nullable<Int8>,
        suspended -> Bool,
    }
}

diesel::joinable!(ci_contracts -> repositories (repository));
diesel::joinable!(ci_jobs -> users (report_to));
diesel::joinable!(comments -> discussions (discussion_id));
diesel::joinable!(comments -> users (author));
diesel::joinable!(contributors -> repositories (repo));
diesel::joinable!(discussion_changes -> discussions (discussion));
diesel::joinable!(discussion_changes -> users (pushed_by));
diesel::joinable!(discussion_subscriptions -> discussions (discussion_id));
diesel::joinable!(discussion_subscriptions -> users (user_id));
diesel::joinable!(discussion_tags -> discussions (discussion));
diesel::joinable!(discussion_tags -> tags (tag));
diesel::joinable!(discussion_tags -> users (author));
diesel::joinable!(discussions -> repositories (repository_id));
diesel::joinable!(discussions -> users (author));
diesel::joinable!(email_log -> discussions (discussion));
diesel::joinable!(hooks -> repositories (repository));
diesel::joinable!(hooks -> users (author));
diesel::joinable!(jobs -> repositories (repo));
diesel::joinable!(mfa_challenges -> users (user_id));
diesel::joinable!(permissions -> repositories (repo_id));
diesel::joinable!(permissions -> users (user_id));
diesel::joinable!(profile_pics -> users (user_id));
diesel::joinable!(publickeys -> users (user_id));
diesel::joinable!(repositories -> users (owner));
diesel::joinable!(repository_followers -> repositories (repository_id));
diesel::joinable!(repository_followers -> users (user_id));
diesel::joinable!(review_approvals -> reviews (review));
diesel::joinable!(review_comments -> reviews (review));
diesel::joinable!(reviews -> repositories (repository));
diesel::joinable!(reviews -> users (author));
diesel::joinable!(signingkeys -> users (user_id));
diesel::joinable!(stripe_invoice -> users (user_id));
diesel::joinable!(stripe_log -> users (userid));
diesel::joinable!(tags -> repositories (repository_id));
diesel::joinable!(tokens -> users (user_id));

diesel::allow_tables_to_appear_in_same_query!(
    ci_contracts,
    ci_jobs,
    comments,
    contributors,
    discussion_changes,
    discussion_subscriptions,
    discussion_tags,
    discussions,
    email_log,
    hooks,
    jobs,
    mfa_challenges,
    password_failures,
    permissions,
    profile_pics,
    publickeys,
    repositories,
    repository_followers,
    review_approvals,
    review_comments,
    reviews,
    schema_migrations,
    signingkeys,
    spam_exceptions,
    stripe_invoice,
    stripe_log,
    tags,
    tokens,
    users,
);