Rails.application.routes.draw do # 워크플로우 대시보드 get 'workflow_dashboard', to: 'workflow_dashboard#index', as: 'workflow_dashboard' get 'workflow_dashboard/project/:project_id', to: 'workflow_dashboard#project', as: 'workflow_dashboard_project' # 커스텀 워크플로우 관리 (Redmine 기본 /workflows와 충돌 방지) get 'custom_workflows', to: 'workflows#index' get 'custom_workflows/new', to: 'workflows#new', as: 'new_custom_workflow' post 'custom_workflows', to: 'workflows#create' # 검색 API (반드시 :id 라우트 이전에 위치) get 'custom_workflows/search/users', to: 'workflows#search_users', as: 'search_users_workflows' get 'custom_workflows/search/role_groups', to: 'workflows#search_role_groups', as: 'search_role_groups_workflows' get 'custom_workflows/search/departments', to: 'workflows#search_departments', as: 'search_departments_workflows' # 워크플로우 CRUD get 'custom_workflows/:id', to: 'workflows#show', as: 'custom_workflow' get 'custom_workflows/:id/edit', to: 'workflows#edit', as: 'edit_custom_workflow' patch 'custom_workflows/:id', to: 'workflows#update', as: 'update_custom_workflow' delete 'custom_workflows/:id', to: 'workflows#destroy', as: 'destroy_custom_workflow' # 워크플로우 단계 관리 post 'custom_workflows/:workflow_id/steps', to: 'workflow_steps#create', as: 'custom_workflow_steps' patch 'custom_workflows/:workflow_id/steps/:id', to: 'workflow_steps#update', as: 'custom_workflow_step' delete 'custom_workflows/:workflow_id/steps/:id', to: 'workflow_steps#destroy' patch 'custom_workflows/:workflow_id/steps/:id/move', to: 'workflow_steps#move', as: 'move_custom_workflow_step' # 단계별 담당자 관리 post 'workflow_steps/:step_id/assignees', to: 'workflow_steps#add_assignee', as: 'step_assignees' delete 'workflow_steps/:step_id/assignees/:id', to: 'workflow_steps#remove_assignee', as: 'step_assignee' # 티켓 워크플로우 액션 post 'issues/:issue_id/workflow/next', to: 'issue_workflows#next_step', as: 'issue_workflow_next_step' post 'issues/:issue_id/workflow/prev', to: 'issue_workflows#prev_step', as: 'issue_workflow_prev_step' post 'issues/:issue_id/workflow/complete', to: 'issue_workflows#complete', as: 'issue_workflow_complete' post 'issues/:issue_id/workflow/reject', to: 'issue_workflows#reject', as: 'issue_workflow_reject' post 'issues/:issue_id/workflow/skip', to: 'issue_workflows#skip_step', as: 'issue_workflow_skip_step' get 'issues/:issue_id/workflow', to: 'issue_workflows#show', as: 'issue_workflow' end