Files
SDI 12e4f17b62
CI / typecheck (push) Successful in 1m8s
CI / format (push) Failing after 1m6s
CI / lint (push) Failing after 49s
CI / test (push) Failing after 1m8s
first commit
2026-07-15 18:05:12 +09:00

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
```