docs(erd): CRLF -> LF

This commit is contained in:
Masahiko AMANO 2025-07-02 12:36:06 +03:00
parent 6f7f38c9da
commit e8084bdeb0

View File

@ -1,208 +1,208 @@
@startuml Tanabata File Manager entity relationship diagram @startuml Tanabata File Manager entity relationship diagram
' skinparam linetype ortho ' skinparam linetype ortho
' ========== SYSTEM ========== ' ========== SYSTEM ==========
entity "system.users" as usr { entity "system.users" as usr {
* id : uuid <<generated>> * id : uuid <<generated>>
-- --
* name : varchar(32) * name : varchar(32)
* password : text * password : text
* is_admin : boolean * is_admin : boolean
} }
entity "system.mime" as mime { entity "system.mime" as mime {
* name : varchar(127) * name : varchar(127)
-- --
* extension : varchar(16) * extension : varchar(16)
} }
' ========== DATA ========== ' ========== DATA ==========
entity "data.categories" as cty { entity "data.categories" as cty {
* id : uuid <<generated>> * id : uuid <<generated>>
-- --
* name : varchar(256) * name : varchar(256)
notes : text notes : text
color : char(6) color : char(6)
* created_at : timestamptz <<generated>> * created_at : timestamptz <<generated>>
* creator_id : uuid * creator_id : uuid
' * is_private : boolean ' * is_private : boolean
} }
cty::creator_id }o--|| usr::id cty::creator_id }o--|| usr::id
entity "data.files" as fle { entity "data.files" as fle {
* id : uuid <<generated>> * id : uuid <<generated>>
-- --
name : varchar(256) name : varchar(256)
* mime : varchar(127) * mime : varchar(127)
* datetime : timestamptz * datetime : timestamptz
notes : text notes : text
* metadata : jsonb * metadata : jsonb
* created_at : timestamptz <<generated>> * created_at : timestamptz <<generated>>
* creator_id : uuid * creator_id : uuid
' * is_private : boolean ' * is_private : boolean
} }
fle::mime }o--|| mime::name fle::mime }o--|| mime::name
fle::creator_id }o--|| usr::id fle::creator_id }o--|| usr::id
entity "data.tags" as tag { entity "data.tags" as tag {
* id : uuid <<generated>> * id : uuid <<generated>>
-- --
* name : varchar(256) * name : varchar(256)
notes : text notes : text
color : char(6) color : char(6)
category_id : uuid category_id : uuid
* created_at : timestamptz <<generated>> * created_at : timestamptz <<generated>>
* creator_id : uuid * creator_id : uuid
' * is_private : boolean ' * is_private : boolean
} }
tag::category_id }o--o| cty::id tag::category_id }o--o| cty::id
tag::creator_id }o--|| usr::id tag::creator_id }o--|| usr::id
entity "data.file_tag" as ft { entity "data.file_tag" as ft {
* file_id : uuid * file_id : uuid
* tag_id : uuid * tag_id : uuid
} }
ft::file_id }o--|| fle::id ft::file_id }o--|| fle::id
ft::tag_id }o--|| tag::id ft::tag_id }o--|| tag::id
entity "data.autotags" as atg { entity "data.autotags" as atg {
* trigger_tag_id : uuid * trigger_tag_id : uuid
* add_tag_id : uuid * add_tag_id : uuid
-- --
* is_active : boolean * is_active : boolean
} }
atg::trigger_tag_id }o--|| tag::id atg::trigger_tag_id }o--|| tag::id
atg::add_tag_id }o--|| tag::id atg::add_tag_id }o--|| tag::id
entity "data.pools" as pool { entity "data.pools" as pool {
* id : uuid <<generated>> * id : uuid <<generated>>
-- --
* name : varchar(256) * name : varchar(256)
notes : text notes : text
' parent_id : uuid ' parent_id : uuid
* created_at : timestamptz * created_at : timestamptz
* creator_id : uuid * creator_id : uuid
' * is_private : boolean ' * is_private : boolean
} }
pool::creator_id }o--|| usr::id pool::creator_id }o--|| usr::id
' pool::parent_id }o--o| pool::id ' pool::parent_id }o--o| pool::id
entity "data.file_pool" as fp { entity "data.file_pool" as fp {
* file_id : uuid * file_id : uuid
* pool_id : uuid * pool_id : uuid
* number : integer * number : integer
} }
fp::file_id }o--|| fle::id fp::file_id }o--|| fle::id
fp::pool_id }o--|| pool::id fp::pool_id }o--|| pool::id
' ========== ACCESS ========== ' ========== ACCESS ==========
entity "access.files" as acl_f { entity "access.files" as acl_f {
* user_id : uuid * user_id : uuid
* file_id : uuid * file_id : uuid
-- --
* read : boolean * read : boolean
* write : boolean * write : boolean
} }
acl_f::user_id }o--|| usr::id acl_f::user_id }o--|| usr::id
acl_f::file_id }o--|| fle::id acl_f::file_id }o--|| fle::id
entity "access.tags" as acl_t { entity "access.tags" as acl_t {
* user_id : uuid * user_id : uuid
* tag_id : uuid * tag_id : uuid
-- --
* read : boolean * read : boolean
* write : boolean * write : boolean
' * files_read : boolean ' * files_read : boolean
' * files_write : boolean ' * files_write : boolean
} }
acl_t::user_id }o--|| usr::id acl_t::user_id }o--|| usr::id
acl_t::tag_id }o--|| tag::id acl_t::tag_id }o--|| tag::id
entity "access.categories" as acl_c { entity "access.categories" as acl_c {
* user_id : uuid * user_id : uuid
* category_id : uuid * category_id : uuid
-- --
* read : boolean * read : boolean
* write : boolean * write : boolean
' * tags_read : boolean ' * tags_read : boolean
' * tags_write : boolean ' * tags_write : boolean
} }
acl_c::user_id }o--|| usr::id acl_c::user_id }o--|| usr::id
acl_c::category_id }o--|| cty::id acl_c::category_id }o--|| cty::id
entity "access.pools" as acl_p { entity "access.pools" as acl_p {
* user_id : uuid * user_id : uuid
* pool_id : uuid * pool_id : uuid
-- --
* read : boolean * read : boolean
* write : boolean * write : boolean
' * files_read : boolean ' * files_read : boolean
' * files_write : boolean ' * files_write : boolean
} }
acl_p::user_id }o--|| usr::id acl_p::user_id }o--|| usr::id
acl_p::pool_id }o--|| pool::id acl_p::pool_id }o--|| pool::id
' ========== ACTIVITY ========== ' ========== ACTIVITY ==========
entity "activity.sessions" as ssn { entity "activity.sessions" as ssn {
* id : uuid <<generated>> * id : uuid <<generated>>
-- --
* user_id : uuid * user_id : uuid
* user_agent : varchar(512) * user_agent : varchar(512)
* started_at : timestamptz * started_at : timestamptz
expires_at : timestamptz expires_at : timestamptz
* last_activity : timestamptz * last_activity : timestamptz
} }
ssn::user_id }o--|| usr::id ssn::user_id }o--|| usr::id
entity "activity.file_views" as fv { entity "activity.file_views" as fv {
* file_id : uuid * file_id : uuid
* timestamp : timestamptz * timestamp : timestamptz
* user_id : uuid * user_id : uuid
} }
fv::file_id }o--|| fle::id fv::file_id }o--|| fle::id
fv::user_id }o--|| usr::id fv::user_id }o--|| usr::id
entity "activity.tag_uses" as tu { entity "activity.tag_uses" as tu {
* tag_id : uuid * tag_id : uuid
* timestamp : timestamptz * timestamp : timestamptz
* user_id : uuid * user_id : uuid
-- --
* included : boolean * included : boolean
} }
tu::tag_id }o--|| tag::id tu::tag_id }o--|| tag::id
tu::user_id }o--|| usr::id tu::user_id }o--|| usr::id
entity "activity.pool_views" as pv { entity "activity.pool_views" as pv {
* pool_id : uuid * pool_id : uuid
* timestamp : timestamptz * timestamp : timestamptz
* user_id : uuid * user_id : uuid
} }
pv::pool_id }o--|| pool::id pv::pool_id }o--|| pool::id
pv::user_id }o--|| usr::id pv::user_id }o--|| usr::id
@enduml @enduml