Documents Schema
documents
Section titled “documents”Core document records with storage, retention, and lifecycle management.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | NO | gen_random_uuid() |
user_id | uuid | NO | — |
name | text | NO | — |
description | text | YES | — |
category_id | uuid | YES | — |
status_id | uuid | YES | — |
storage_path | text | NO | — |
storage_location | text | NO | 'supabase' |
file_type | text | NO | — |
file_size | bigint | NO | 0 |
is_archived | boolean | NO | false |
is_expired | boolean | NO | false |
retention_days | integer | YES | — |
retention_action | text | YES | — |
expired_at | timestamptz | YES | — |
metadata | jsonb | YES | '{}' |
created_at | timestamptz | NO | now() |
updated_at | timestamptz | NO | now() |
document_versions
Section titled “document_versions”Versioned file uploads for documents.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | NO | gen_random_uuid() |
document_id | uuid | NO | — |
user_id | uuid | NO | — |
storage_path | text | NO | — |
storage_location | text | NO | 'supabase' |
version_number | integer | NO | — |
file_size | bigint | NO | 0 |
created_at | timestamptz | NO | now() |
document_categories
Section titled “document_categories”Hierarchical document categories.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | NO | gen_random_uuid() |
user_id | uuid | NO | — |
name | text | NO | — |
description | text | YES | — |
parent_id | uuid | YES | — |
sort_order | smallint | NO | 0 |
created_at | timestamptz | NO | now() |
updated_at | timestamptz | NO | now() |
document_statuses
Section titled “document_statuses”Custom workflow statuses for documents.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | NO | gen_random_uuid() |
user_id | uuid | NO | — |
name | text | NO | — |
color_code | text | NO | '#6366f1' |
description | text | YES | — |
is_default | boolean | NO | false |
sort_order | smallint | NO | 0 |
created_at | timestamptz | NO | now() |
updated_at | timestamptz | NO | now() |
document_shares
Section titled “document_shares”Document sharing with permission levels.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | NO | gen_random_uuid() |
document_id | uuid | NO | — |
shared_with_id | uuid | NO | — |
permission | text | NO | 'view' |
is_time_bound | boolean | NO | false |
starts_at | timestamptz | YES | — |
expires_at | timestamptz | YES | — |
created_by | uuid | NO | — |
created_at | timestamptz | NO | now() |
document_links
Section titled “document_links”Public shareable links for documents.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | NO | gen_random_uuid() |
document_id | uuid | NO | — |
link_code | text | NO | — |
password_hash | text | YES | — |
allow_download | boolean | NO | true |
expires_at | timestamptz | YES | — |
created_by | uuid | NO | — |
created_at | timestamptz | NO | now() |
updated_at | timestamptz | NO | now() |
document_comments
Section titled “document_comments”Comments on documents.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | NO | gen_random_uuid() |
document_id | uuid | NO | — |
user_id | uuid | NO | — |
content | text | NO | — |
created_at | timestamptz | NO | now() |
updated_at | timestamptz | NO | now() |
document_metadata
Section titled “document_metadata”Key-value metadata on documents.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | NO | gen_random_uuid() |
document_id | uuid | NO | — |
key | text | NO | — |
value | text | YES | — |
created_at | timestamptz | NO | now() |
document_audit_trails
Section titled “document_audit_trails”Audit log for document operations.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | NO | gen_random_uuid() |
document_id | uuid | NO | — |
user_id | uuid | NO | — |
operation | text | NO | — |
details | jsonb | YES | '{}' |
created_at | timestamptz | NO | now() |