knowledge_base.rb 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. Zammad::Application.routes.draw do
  2. #
  3. # API
  4. #
  5. concern :has_publishing do
  6. member do
  7. post :has_publishing_update, action: :has_publishing_update
  8. CanBePublished::StateMachine.aasm.events.each do |event|
  9. post event.name, action: "has_publishing_#{event.name}"
  10. end
  11. end
  12. end
  13. scope Rails.configuration.api_path do
  14. resources :knowledge_bases, only: %i[show update] do
  15. collection do
  16. post :init
  17. post :search, controller: 'knowledge_base/search'
  18. get :recent_answers, controller: 'knowledge_base/answers'
  19. resources :manage, controller: 'knowledge_base/manage' do
  20. collection do
  21. get :init
  22. end
  23. member do
  24. get :server_snippets
  25. patch :activate, :deactivate, :update_menu_items
  26. end
  27. end
  28. end
  29. resources :categories, controller: 'knowledge_base/categories',
  30. except: %i[new edit] do
  31. member do
  32. patch :reorder_categories, :reorder_answers
  33. end
  34. collection do
  35. patch :reorder_root_categories
  36. end
  37. end
  38. resources :answers, controller: 'knowledge_base/answers',
  39. only: %i[create update show destroy],
  40. concerns: :has_publishing do
  41. resources :attachments, controller: 'knowledge_base/answer/attachments', only: %i[create destroy] do
  42. collection do
  43. post :clone_to_form
  44. end
  45. end
  46. end
  47. end
  48. end
  49. #
  50. # Public
  51. #
  52. scope :help do
  53. get '', to: 'knowledge_base/public/categories#forward_root', as: :help_no_locale
  54. get ':locale', to: 'knowledge_base/public/categories#index', as: :help_root
  55. get ':locale/:category', to: 'knowledge_base/public/categories#show', as: :help_category
  56. get ':locale/:category/:answer', to: 'knowledge_base/public/answers#show', as: :help_answer
  57. end
  58. end