Skip to content

Latest commit

 

History

History
125 lines (111 loc) · 2.67 KB

File metadata and controls

125 lines (111 loc) · 2.67 KB
erDiagram
    auth_User ||--o{ Event : creates
    Event ||--|{ VideoAsset : contains
    Event ||--o{ EventTag : has
    Tag }|--o{ EventTag : contains
    Event ||--o{ EventPlaylist : has
    Playlist }|--o{ EventPlaylist : contains
    Event ||--o{ EventPresenter : has
    auth_User ||--o{ EventPresenter : presents

    %% Todo: Add Workstream Integration tables
    %% Event ||--o| WorkstreamEvent : links_to
    %% WorkstreamEvent ||--|{ WorkstreamComment : has
    %% WorkstreamEvent ||--|{ WorkstreamRating : has

    auth_User {
        int id PK
        string username
        string email
        string password
        string first_name
        string last_name
        boolean is_active
        boolean is_staff
        boolean is_superuser
        datetime last_login
        datetime date_joined
    }

    Event {
        int id PK
        int creator_id FK
        string title
        text description
        datetime event_time
        string event_type
        string status
        string workstream_id
        boolean is_featured
        datetime created_at
        datetime updated_at
    }

    VideoAsset {
        int id PK
        int event_id FK
        string title
        string video_file
        integer duration
        string thumbnail
        string status
        integer file_size
        datetime created_at
        datetime updated_at
    }

    Tag {
        int id PK
        string name
        string description
        datetime created_at
        datetime updated_at
    }

    EventTag {
        int id PK
        int event_id FK
        int tag_id FK
        datetime created_at
    }

    Playlist {
        int id PK
        string name
        string description
        datetime created_at
        datetime updated_at
    }

    EventPlaylist {
        int id PK
        int event_id FK
        int playlist_id FK
        datetime created_at
    }

    EventPresenter {
        int id PK
        int event_id FK
        int user_id FK
    }

    %% WorkstreamEvent {
    %%     int id PK
    %%     string workstream_id
    %%     string title
    %%     text description
    %%     datetime event_date
    %%     string status
    %%     string requester_email
    %%     string presenter_email
    %%     datetime created_at
    %%     datetime updated_at
    %% }

    %% WorkstreamComment {
    %%     int id PK
    %%     int workstream_event_id FK
    %%     string author_email
    %%     text content
    %%     datetime created_at
    %%     datetime updated_at
    %% }

    %% WorkstreamRating {
    %%     int id PK
    %%     int workstream_event_id FK
    %%     string user_email
    %%     integer rating
    %%     datetime created_at
    %% }

Loading