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};
old_logins (login) {
login -> Citext,
user_id -> Nullable<Uuid>,
retired -> Nullable<Timestamptz>,
}
}
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 -> 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 -> Text,
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};
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};
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!(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!(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!(signingkeys -> users (user_id));
diesel::joinable!(tags -> repositories (repository_id));
diesel::joinable!(tokens -> users (user_id));
diesel::allow_tables_to_appear_in_same_query!(
comments,
contributors,
discussion_changes,
discussion_subscriptions,
discussion_tags,
discussions,
email_log,
hooks,
old_logins,
password_failures,
permissions,
profile_pics,
publickeys,
repositories,
repository_followers,
signingkeys,
tags,
tokens,
users,
);