lib.itmens/docs/internals/journal.md

100 lines
1.3 KiB
Markdown
Raw Normal View History

2022-12-13 16:33:58 -05:00
Journal
=======
Data Model
----------
```mermaid
classDiagram
User .. Piece
class Piece {
+User owner
+int visibility
}
class Item {
+str title
+str brief
-enum type
}
Piece <|-- Content
Item .. Content
class Content {
+Item target
}
2022-12-17 08:57:09 -05:00
Content <|-- Rating
2022-12-13 16:33:58 -05:00
class Rating {
+int grade
}
2022-12-17 08:57:09 -05:00
Content <|-- Review
2022-12-13 16:33:58 -05:00
class Review {
+str title
2022-12-17 08:57:09 -05:00
+str body
}
Content <|-- Comment
class Comment {
2022-12-13 16:33:58 -05:00
+str text
}
Content <|-- Note
class Note {
2024-06-16 13:25:26 -04:00
+str title
+str content
+enum progress_type
+str progress_value
2022-12-17 08:57:09 -05:00
2022-12-13 16:33:58 -05:00
}
Content <|-- Reply
class Reply {
+Content reply_to
}
Piece <|-- List
class List{
+ListItem[] items
}
Item .. ListItem
List *-- ListItem
class ListItem {
2022-12-17 08:57:09 -05:00
+int position
2022-12-13 16:33:58 -05:00
+Item item
+Dict metadata
}
2022-12-17 08:57:09 -05:00
List <|-- Collection
Item .. Collection
2022-12-13 16:33:58 -05:00
class Collection {
+str title
+str brief
+Bool collabrative
}
2022-12-17 08:57:09 -05:00
List <|-- Tag
2022-12-13 16:33:58 -05:00
class Tag {
+str title
}
2022-12-17 08:57:09 -05:00
List <|-- Shelf
2022-12-13 16:33:58 -05:00
class Shelf {
+Enum type
}
User .. ShelfLogManager
class ShelfLogManager {
+User owner
+ShelfLogEntry[] logs
}
ShelfLogManager *-- ShelfLogEntry
class ShelfLogEntry {
+Item item
+Shelf shelf
+DateTime timestamp
}
ShelfLogEntry .. Item
ShelfLogEntry .. Shelf
Shelf *-- ShelfItem
ListItem <|-- ShelfItem
ListItem <|-- TagItem
ListItem <|-- CollectionItem
Tag *-- TagItem
Collection *-- CollectionItem
```