System Entities¶
User¶
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"
Fields:
| Field | Type | Description | Required |
|---|---|---|---|
userName |
varchar | Login name | Yes |
name |
varchar | Display name | Yes |
emailAddress |
Yes | ||
phoneNumber |
phone | Phone | No |
isActive |
bool | Is active | No |
isAdmin |
bool | Is administrator | No |
type |
enum | User type | No |
password |
password | Password | Yes |
defaultTeamId |
link | Default team | No |
User Types (type):
regular- Regular useradmin- Administratorportal- Portal userapi- API user
Team¶
erDiagram
Team {
string id PK
string name
string positionList
string parentId FK
}
Team ||--o{ User : "users"
Team ||--o| Team : "parent"
Fields:
| Field | Type | Description | Required |
|---|---|---|---|
name |
varchar | Team name | Yes |
positionList |
array | Position list | No |
parentId |
link | Parent team | No |
Role¶
erDiagram
Role {
string id PK
string name
json data
json fieldData
}
Role ||--o{ User : "users"
Fields:
| Field | Type | Description | Required |
|---|---|---|---|
name |
varchar | Role name | Yes |
data |
json | Entity permissions | Yes |
fieldData |
json | Field permissions | No |
data Structure:
{
"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"
Fields:
| Field | Type | Description | Required |
|---|---|---|---|
name |
varchar | Name/subject | Yes |
subject |
varchar | Subject | No |
body |
text | Email body | No |
bodyPlain |
text | Plaintext version | No |
isHtml |
bool | Is HTML | No |
status |
enum | Status | No |
from |
varchar | From | No |
to |
varchar | To | No |
cc |
varchar | CC | No |
bcc |
varchar | BCC | No |
dateSent |
datetime | Send date | No |
parentType |
varchar | Parent type | No |
parentId |
varchar | Parent ID | No |
Email Status (status):
Draft- DraftSending- SendingSent- SentArchived- ArchivedFailed- Failed
Meeting¶
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"
Fields:
| Field | Type | Description | Required |
|---|---|---|---|
name |
varchar | Meeting name | Yes |
status |
enum | Status | No |
dateStart |
datetime | Start | Yes |
dateEnd |
datetime | End | No |
duration |
int | Duration (minutes) | No |
description |
text | Description | No |
parentType |
varchar | Parent type | No |
parentId |
varchar | Parent ID | No |
assignedUserId |
link | Assigned user | No |
Meeting Status (status):
Planned- PlannedHeld- HeldNot Held- Not Held
Call¶
Fields:
| Field | Type | Description | Required |
|---|---|---|---|
name |
varchar | Call name | Yes |
status |
enum | Status | No |
dateStart |
datetime | Start | Yes |
dateEnd |
datetime | End | No |
duration |
int | Duration (seconds) | No |
direction |
enum | Direction | No |
description |
text | Description | No |
parentType |
varchar | Parent type | No |
parentId |
varchar | Parent ID | No |
Call Direction (direction):
Outbound- OutboundInbound- Inbound
Task¶
Fields:
| Field | Type | Description | Required |
|---|---|---|---|
name |
varchar | Task name | Yes |
status |
enum | Status | No |
priority |
enum | Priority | No |
dateStart |
datetime | Start | No |
dateEnd |
datetime | Due date | No |
description |
text | Description | No |
parentType |
varchar | Parent type | No |
parentId |
varchar | Parent ID | No |
assignedUserId |
link | Assigned user | No |
Task Status (status):
Not Started- Not StartedStarted- StartedCompleted- CompletedCanceled- CanceledDeferred- Deferred
Priority (priority):
Low- LowNormal- NormalHigh- HighUrgent- Urgent
Attachment¶
Fields:
| Field | Type | Description | Required |
|---|---|---|---|
name |
varchar | File name | Yes |
type |
varchar | MIME type | No |
size |
int | Size (bytes) | No |
sourceId |
varchar | Source ID | No |
role |
enum | Attachment role | No |
Note¶
Fields:
| Field | Type | Description | Required |
|---|---|---|---|
name |
varchar | Title | No |
post |
text | Content | No |
type |
enum | Type | No |
parentType |
varchar | Parent type | No |
parentId |
varchar | Parent ID | No |