211 lines
5.0 KiB
Markdown
211 lines
5.0 KiB
Markdown
```mermaid
|
|
erDiagram
|
|
software_apps ||--o{ workspaces : defines
|
|
service_types ||--o{ workspaces : defines
|
|
workspaces ||--o{ user_workspace_access : accessed_by
|
|
workspaces ||--o{ support_tickets : contains
|
|
workspaces ||--o{ attachments : stores
|
|
workspaces ||--o{ faqs : provides
|
|
support_tickets ||--o{ ticket_comments : has
|
|
support_tickets ||--o{ attachments : has
|
|
support_tickets ||--o{ request_approvals : needs
|
|
support_tickets ||--o{ asset_allocations : requests
|
|
support_tickets ||--o{ vehicle_schedules : schedules
|
|
support_tickets ||--o{ remote_support : needs
|
|
support_tickets ||--o{ notification_logs : notifies
|
|
assets ||--o{ asset_allocations : allocated
|
|
assets ||--o{ vehicle_schedules : scheduled
|
|
support_status_codes ||--o{ support_tickets : statuses
|
|
support_category_codes ||--o{ support_tickets : categorizes
|
|
remote_support_status_codes ||--o{ remote_support : statuses
|
|
|
|
software_apps {
|
|
int id PK
|
|
string app_code UK
|
|
string app_name UK
|
|
string description
|
|
boolean is_active
|
|
datetime created_at
|
|
}
|
|
|
|
service_types {
|
|
int id PK
|
|
string service_code UK
|
|
string service_name UK
|
|
string description
|
|
boolean is_active
|
|
datetime created_at
|
|
}
|
|
|
|
workspaces {
|
|
int id PK
|
|
string workspace_type
|
|
int software_app_id FK
|
|
int service_type_id FK
|
|
string workspace_code UK
|
|
string workspace_name
|
|
boolean is_active
|
|
datetime created_at
|
|
}
|
|
|
|
user_workspace_access {
|
|
int id PK
|
|
string user_id
|
|
string tenant_id
|
|
int workspace_id FK
|
|
string workspace_role
|
|
boolean can_read
|
|
boolean can_write
|
|
boolean can_manage
|
|
boolean can_approve
|
|
string page_scope
|
|
datetime created_at
|
|
}
|
|
|
|
user_notification_profiles {
|
|
int id PK
|
|
string user_id
|
|
string tenant_id
|
|
string user_type
|
|
string phone_number
|
|
string naverworks_user_key
|
|
boolean sms_opt_in
|
|
datetime created_at
|
|
}
|
|
|
|
support_status_codes {
|
|
string code PK
|
|
string name
|
|
int sort_order
|
|
}
|
|
|
|
support_category_codes {
|
|
string code PK
|
|
string name
|
|
int sort_order
|
|
}
|
|
|
|
support_tickets {
|
|
int id PK
|
|
int workspace_id FK
|
|
string requester_id
|
|
string requester_tenant_id
|
|
string ticket_type
|
|
string title
|
|
string content
|
|
string category_code FK
|
|
string status_code FK
|
|
boolean is_secret
|
|
datetime requested_start_at
|
|
datetime requested_end_at
|
|
string priority
|
|
datetime created_at
|
|
datetime updated_at
|
|
}
|
|
|
|
ticket_comments {
|
|
int id PK
|
|
int ticket_id FK
|
|
string author_id
|
|
string author_tenant_id
|
|
string content
|
|
datetime created_at
|
|
}
|
|
|
|
attachments {
|
|
int id PK
|
|
string parent_type
|
|
int parent_id
|
|
int workspace_id FK
|
|
string file_name
|
|
string file_path
|
|
int file_size
|
|
datetime created_at
|
|
}
|
|
|
|
request_approvals {
|
|
int id PK
|
|
int ticket_id FK
|
|
string approver_id
|
|
string approver_tenant_id
|
|
string approval_status
|
|
string comment
|
|
datetime approved_at
|
|
datetime created_at
|
|
}
|
|
|
|
assets {
|
|
int id PK
|
|
string asset_code UK
|
|
string asset_name
|
|
string asset_type
|
|
int quantity
|
|
boolean is_active
|
|
string location
|
|
datetime created_at
|
|
}
|
|
|
|
asset_allocations {
|
|
int id PK
|
|
int ticket_id FK
|
|
int asset_id FK
|
|
string assignee_id
|
|
string assignee_tenant_id
|
|
string allocation_status
|
|
datetime loaned_at
|
|
datetime due_at
|
|
datetime returned_at
|
|
datetime created_at
|
|
}
|
|
|
|
vehicle_schedules {
|
|
int id PK
|
|
int ticket_id FK
|
|
int asset_id FK
|
|
datetime departure_at
|
|
datetime arrival_at
|
|
string destination
|
|
string driver_name
|
|
datetime created_at
|
|
}
|
|
|
|
remote_support_status_codes {
|
|
string code PK
|
|
string name
|
|
int sort_order
|
|
}
|
|
|
|
remote_support {
|
|
int id PK
|
|
int ticket_id FK
|
|
string status_code FK
|
|
string support_engineer_id
|
|
string support_engineer_tenant_id
|
|
datetime scheduled_time
|
|
datetime created_at
|
|
}
|
|
|
|
faqs {
|
|
int id PK
|
|
int workspace_id FK
|
|
string title
|
|
string content
|
|
boolean is_active
|
|
datetime created_at
|
|
}
|
|
|
|
notification_logs {
|
|
int id PK
|
|
int ticket_id FK
|
|
string recipient_id
|
|
string recipient_tenant_id
|
|
string channel
|
|
string target_address
|
|
string delivery_status
|
|
string fallback_channel
|
|
string error_message
|
|
datetime sent_at
|
|
}
|
|
|
|
user_notification_profiles ||..o{ notification_logs : receives
|
|
``` |