aboutsummaryrefslogtreecommitdiffstats
path: root/docs/book/src/chapter_1.md
blob: b638874c2faa4ba5b4f7ef64f556822cda6a2735 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Entities

```mermaid
erDiagram
    Account ||--|| Profile : "has"
    Account ||--o{ Session : "creates"
    Profile ||--o{ Follow : "follows"
    Profile ||--o{ Follow : "is followed by"
    Profile ||--o{ Like : "likes"
    Profile {
        string ap_id PK
        string username
        string description
        string inbox
        string outbox
        enum type
        string picture
        string public_key
        string private_key
        timestamp created_at
        timestamp last_refreshed_at
    }
    Account {
        string ap_id FK
        string oauth_provider_id PK
        string oauth_provider_user_id PK
        string email
    }
    Session {
        string id PK
        timestamp expires_at
        string ap_id FK
    }
    Follow {
        string follower_ap_id
        string following_ap_id
        timestamp created_at
    }
    Like {
        string ap_id PK
        string object_id PK
        timestamp created_at
    }
```

Profile.type is an enum supporting the ActivityPub actor type [values](https://www.w3.org/TR/activitystreams-vocabulary/#actor-types)