Přeskočit obsah

Systémové entity

User (Uživatel)

erDiagram
    User {
        string id PK
        string userName UK
        string name
        string emailAddress
        string phoneNumber
        boolean isActive
        boolean isAdmin
        string type
        datetime createdAt
        datetime modifiedAt
    }

    User ||--o{ Team : "teams"
    User }|--|| Role : "roles"

Pole:

Pole Typ Popis Povinné
userName varchar Přihlašovací jméno Ano
name varchar Zobrazované jméno Ano
emailAddress email Email Ano
phoneNumber phone Telefon Ne
isActive bool Je aktivní Ne
isAdmin bool Je administrátor Ne
type enum Typ uživatele Ne
password password Heslo Ano
defaultTeamId link Výchozí tým Ne

Typy uživatele (type):

  • regular - Běžný uživatel
  • admin - Administrátor
  • portal - Portálový uživatel
  • api - API uživatel

Team (Tým)

erDiagram
    Team {
        string id PK
        string name
        string positionList
        string parentId FK
    }

    Team ||--o{ User : "users"
    Team ||--o| Team : "parent"

Pole:

Pole Typ Popis Povinné
name varchar Název týmu Ano
positionList array Seznam pozic Ne
parentId link Nadřazený tým Ne

Role

erDiagram
    Role {
        string id PK
        string name
        json data
        json fieldData
    }

    Role ||--o{ User : "users"

Pole:

Pole Typ Popis Povinné
name varchar Název role Ano
data json Oprávnění entit Ano
fieldData json Oprávnění polí Ne

Struktura data:

{
  "Contact": {
    "create": "yes",
    "read": "all",
    "edit": "team",
    "delete": "own",
    "stream": "team"
  }
}

Email

erDiagram
    Email {
        string id PK
        string name
        string subject
        text body
        bool isHtml
        enum status
        datetime dateSent
        string from
        string to
        string parentType
        string parentId
    }

    Email ||--o{ Attachment : "attachments"

Pole:

Pole Typ Popis Povinné
name varchar Název/předmět Ano
subject varchar Předmět Ne
body text Tělo emailu Ne
bodyPlain text Plaintext verze Ne
isHtml bool Je HTML Ne
status enum Status Ne
from varchar Od Ne
to varchar Komu Ne
cc varchar Kopie Ne
bcc varchar Skrytá kopie Ne
dateSent datetime Datum odeslání Ne
parentType varchar Typ rodiče Ne
parentId varchar ID rodiče Ne

Stavy emailu (status):

  • Draft - Koncept
  • Sending - Odesílá se
  • Sent - Odesláno
  • Archived - Archivováno
  • Failed - Selhalo

Meeting (Schůzka)

erDiagram
    Meeting {
        string id PK
        string name
        enum status
        datetime dateStart
        datetime dateEnd
        int duration
        string parentType
        string parentId
        string assignedUserId
    }

    Meeting }|--o{ Contact : "contacts"
    Meeting }|--o{ User : "users"

Pole:

Pole Typ Popis Povinné
name varchar Název schůzky Ano
status enum Status Ne
dateStart datetime Začátek Ano
dateEnd datetime Konec Ne
duration int Délka (minuty) Ne
description text Popis Ne
parentType varchar Typ rodiče Ne
parentId varchar ID rodiče Ne
assignedUserId link Přiřazený uživatel Ne

Stavy schůzky (status):

  • Planned - Plánovaná
  • Held - Uskutečněná
  • Not Held - Neuskutečněná

Call (Hovor)

Pole:

Pole Typ Popis Povinné
name varchar Název hovoru Ano
status enum Status Ne
dateStart datetime Začátek Ano
dateEnd datetime Konec Ne
duration int Délka (sekundy) Ne
direction enum Směr Ne
description text Popis Ne
parentType varchar Typ rodiče Ne
parentId varchar ID rodiče Ne

Směr hovoru (direction):

  • Outbound - Odchozí
  • Inbound - Příchozí

Task (Úkol)

Pole:

Pole Typ Popis Povinné
name varchar Název úkolu Ano
status enum Status Ne
priority enum Priorita Ne
dateStart datetime Začátek Ne
dateEnd datetime Termín Ne
description text Popis Ne
parentType varchar Typ rodiče Ne
parentId varchar ID rodiče Ne
assignedUserId link Přiřazený uživatel Ne

Stavy úkolu (status):

  • Not Started - Nezačatý
  • Started - Rozpracovaný
  • Completed - Dokončený
  • Canceled - Zrušený
  • Deferred - Odložený

Priority (priority):

  • Low - Nízká
  • Normal - Normální
  • High - Vysoká
  • Urgent - Urgentní

Attachment (Příloha)

Pole:

Pole Typ Popis Povinné
name varchar Název souboru Ano
type varchar MIME typ Ne
size int Velikost (bytes) Ne
sourceId varchar ID zdroje Ne
role enum Role přílohy Ne

Note (Poznámka)

Pole:

Pole Typ Popis Povinné
name varchar Nadpis Ne
post text Obsah Ne
type enum Typ Ne
parentType varchar Typ rodiče Ne
parentId varchar ID rodiče Ne