Files
papercrate/backend/src/schema.rs
T

146 lines
3.4 KiB
Rust

// @generated automatically by Diesel CLI.
diesel::table! {
document_assets (id) {
id -> Uuid,
document_version_id -> Uuid,
asset_type -> Text,
s3_key -> Text,
mime_type -> Text,
width -> Nullable<Int4>,
height -> Nullable<Int4>,
metadata -> Jsonb,
created_at -> Timestamptz,
}
}
diesel::table! {
document_tags (document_id, tag_id) {
document_id -> Uuid,
tag_id -> Uuid,
assigned_at -> Timestamptz,
assigned_by -> Nullable<Uuid>,
}
}
diesel::table! {
document_versions (id) {
id -> Uuid,
document_id -> Uuid,
version_number -> Int4,
#[max_length = 500]
s3_key -> Varchar,
size_bytes -> Int8,
#[max_length = 64]
checksum -> Varchar,
created_at -> Timestamptz,
operations_summary -> Jsonb,
}
}
diesel::table! {
documents (id) {
id -> Uuid,
#[max_length = 255]
filename -> Varchar,
#[max_length = 255]
original_name -> Varchar,
#[max_length = 100]
content_type -> Nullable<Varchar>,
folder_id -> Nullable<Uuid>,
current_version -> Int4,
uploaded_at -> Timestamptz,
updated_at -> Timestamptz,
deleted_at -> Nullable<Timestamptz>,
metadata -> Jsonb,
issued_at -> Nullable<Timestamptz>,
#[max_length = 255]
title -> Varchar,
}
}
diesel::table! {
folders (id) {
id -> Uuid,
#[max_length = 255]
name -> Varchar,
parent_id -> Nullable<Uuid>,
#[max_length = 1000]
path_cache -> Nullable<Varchar>,
created_at -> Timestamptz,
updated_at -> Timestamptz,
}
}
diesel::table! {
jobs (id) {
id -> Uuid,
job_type -> Text,
payload -> Jsonb,
status -> Text,
attempts -> Int4,
run_after -> Timestamptz,
last_error -> Nullable<Text>,
created_at -> Timestamptz,
updated_at -> Timestamptz,
}
}
diesel::table! {
refresh_tokens (id) {
id -> Uuid,
user_id -> Uuid,
token_hash -> Text,
issued_at -> Timestamptz,
expires_at -> Timestamptz,
revoked_at -> Nullable<Timestamptz>,
created_at -> Timestamptz,
updated_at -> Timestamptz,
}
}
diesel::table! {
tags (id) {
id -> Uuid,
#[max_length = 100]
label -> Varchar,
#[max_length = 7]
color -> Nullable<Varchar>,
created_at -> Timestamptz,
}
}
diesel::table! {
users (id) {
id -> Uuid,
#[max_length = 100]
username -> Varchar,
#[max_length = 255]
password_hash -> Varchar,
#[max_length = 16]
role -> Varchar,
created_at -> Timestamptz,
updated_at -> Timestamptz,
}
}
diesel::joinable!(document_assets -> document_versions (document_version_id));
diesel::joinable!(document_tags -> documents (document_id));
diesel::joinable!(document_tags -> tags (tag_id));
diesel::joinable!(document_tags -> users (assigned_by));
diesel::joinable!(document_versions -> documents (document_id));
diesel::joinable!(documents -> folders (folder_id));
diesel::joinable!(refresh_tokens -> users (user_id));
diesel::allow_tables_to_appear_in_same_query!(
document_assets,
document_tags,
document_versions,
documents,
folders,
jobs,
refresh_tokens,
tags,
users,
);